error al comparar cadenas de caracteres
Publicado por Antonio (10 intervenciones) el 14/11/2008 13:20:33
Holaaa, acudo a vosotros porque otras veces me habeis sido de utilidad, tengo un problema al comparar cadenas de caracteres. Haber yo hago:
#define LONG_LINEA 1000
char linea[LONG_LINEA];
fgets(linea, LONG_LINEA, stdin);
aux=strcmp(linea,"Prueba");
if (aux!=0)
hace una cosa
else
hace otra
El problema es que al leer de la entrada estandar no se la longitud previamente de la cadena, por lo que le pongo un tamaño grande por defecto, para que lea todos los caracteres pero al compararlo con Prueba el strcmp siempre devuelve 1, Suponiendo que lee de la entrada estandar "Prueba" porque cuando yo lo comparo con la cadena que en teoría es igual, no devuelve 0. Si alguien me puede dar una pista le estaré muy agradecido, Muchas gracias
#define LONG_LINEA 1000
char linea[LONG_LINEA];
fgets(linea, LONG_LINEA, stdin);
aux=strcmp(linea,"Prueba");
if (aux!=0)
hace una cosa
else
hace otra
El problema es que al leer de la entrada estandar no se la longitud previamente de la cadena, por lo que le pongo un tamaño grande por defecto, para que lea todos los caracteres pero al compararlo con Prueba el strcmp siempre devuelve 1, Suponiendo que lee de la entrada estandar "Prueba" porque cuando yo lo comparo con la cadena que en teoría es igual, no devuelve 0. Si alguien me puede dar una pista le estaré muy agradecido, Muchas gracias
Valora esta pregunta


0