• Lunes 20 de Mayo de 2024, 12:59

Autor Tema:  Problemas Para Extraccion De Caracteres  (Leído 1141 veces)

cz2002

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Problemas Para Extraccion De Caracteres
« en: Domingo 25 de Abril de 2004, 08:34 »
0
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..

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);

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problemas Para Extraccion De Caracteres
« Respuesta #1 en: Domingo 25 de Abril de 2004, 16:31 »
0
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
  1.  
  2. char fecha[10];
  3. char *num1, *num2;
  4. scanf("%s",fecha);
  5. char mes[2];
  6. *num1=fecha[3];
  7. *num2=fecha[4];
  8. strcpy(mes, num1);
  9. strcat(mes, num2);
  10. puts(mes);
  11.  
  12.  

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
  1.  
  2. char fecha[10];
  3. char ano[4], mes[2], dia[2]
  4.  
  5. scanf("%s",fecha);
  6.  
  7. strncpy(ano, fecha, 4);
  8. strncat(mes,&fecha[4],2);
  9. strncat(mes,&fecha[6],2);
  10. puts(mes);
  11.  
  12.  
Eso si acabo de escribir el codigo ya que aca no tengo compilador .... asi que pude fallar en algo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

cz2002

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Problemas Para Extraccion De Caracteres
« Respuesta #2 en: Domingo 25 de Abril de 2004, 17:30 »
0
muchas gracias juank!!!

si soy bastante desordenado...... tengo q corregirme ese error pero como estoy empezando estoy a tiempo :D  :D  :D


saludos!!