Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Mostrar INT

Estas en el tema de Mostrar INT en el foro de C/C++ en Foros del Web. Saludos Tengo lo siguiente: char *a; sprintf(a,"asdf"); int a1=strlen(a); printf("%d",a1); Y siempre me esta mostrando "11" , aun cuando a tome valores distintos. esta mal ...
  #1 (permalink)  
Antiguo 26/03/2007, 09:00
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 10 meses
Puntos: 1
Mostrar INT

Saludos

Tengo lo siguiente:

char *a;
sprintf(a,"asdf");

int a1=strlen(a);
printf("%d",a1);

Y siempre me esta mostrando "11" , aun cuando a tome valores distintos.

esta mal como estoy imprimiendo el valor de a1 ??
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.
  #2 (permalink)  
Antiguo 26/03/2007, 16:55
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Re: Mostrar INT

Lo que esta mal es como usas un puntero sin asignar.

char *a;
sprintf(a,"asdf");

Te das cuenta de lo que intetnas hacer? Estas escribiendo asdf dentro de "no se donde".

Asigna memoria primero.

a=(char *)malloc(32);//Para C
a=new char[32];//Para C++

despues ya puedes escribir los valores que quieras.

Y recuerda 2 cosas. strlen te va dar hasta encontrar un valor nulo, por lo que te recomiendo que hagas un memset a "a".
Y a otra cosa es que nunca te vayas a pasar del espacio almacenado.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:25.