Programación General => C/C++ => Mensaje iniciado por: cz2002 en Domingo 25 de Abril de 2004, 08:34
Título: Problemas Para Extraccion De Caracteres
Publicado por: cz2002 en Domingo 25 de Abril de 2004, 08:34
tengo un problema para extraer caracteres de tipo char para pasarlos a int ( eso ya se como hacerlo) pero tengo problemas a la hora de extraer dos caracteres de pasicion 3 y 4 de fecha y meterlos en la variable mes me compila sin error pero a la hora de correr el programa no me tira correctamente la varible mes me arroja caracteres basura.. no se donde puedo tener el error... deben de ser punteros masñ asignados..
Título: Re: Problemas Para Extraccion De Caracteres
Publicado por: JuanK en Domingo 25 de Abril de 2004, 16:31
bueno varios errore... no eres ordenado al declarar las variables y lo más grave aunque es lo más comun es que no has reservado memoria para los apuntadores y estras trabajando sobre los datos basura.. compiladores modernos no permiten trabajar sobre apuntadores sin que se haya reservado el espacio en memoria correspondiente...
Código: Text
char fecha[10];
char *num1, *num2;
scanf("%s",fecha);
char mes[2];
*num1=fecha[3];
*num2=fecha[4];
strcpy(mes, num1);
strcat(mes, num2);
puts(mes);
para erservar memoria para un apuntador se hace asi: char *s;
s= (char *)malloc(50*sizeof(char));
pero adicionalmente tu programa esta mal diseñado. aca hay un programa que lo hace mas optimo pero sin embargo no es lo más optimo que se puede... lo hago asi para que entiendas:
Código: Text
char fecha[10];
char ano[4], mes[2], dia[2]
scanf("%s",fecha);
strncpy(ano, fecha, 4);
strncat(mes,&fecha[4],2);
strncat(mes,&fecha[6],2);
puts(mes);
Eso si acabo de escribir el codigo ya que aca no tengo compilador .... asi que pude fallar en algo.
Título: Re: Problemas Para Extraccion De Caracteres
Publicado por: cz2002 en Domingo 25 de Abril de 2004, 17:30
muchas gracias juank!!!
si soy bastante desordenado...... tengo q corregirme ese error pero como estoy empezando estoy a tiempo :D :D :D