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

Falla en comparacion de cadenas

Estas en el tema de Falla en comparacion de cadenas en el foro de C/C++ en Foros del Web. gente alguien sabe porque si ingreso por teclado node start me dice que es distinta la cadena. #include <stdio.h> int main(){ char entrada[25]; printf("Bienvenidos al ...
  #1 (permalink)  
Antiguo 14/09/2010, 13:56
 
Fecha de Ingreso: mayo-2006
Mensajes: 79
Antigüedad: 18 años
Puntos: 0
Falla en comparacion de cadenas

gente alguien sabe porque si ingreso por teclado node start me dice que es distinta la cadena.



#include <stdio.h>

int main(){

char entrada[25];
printf("Bienvenidos al nodo \n");
printf("Ingrese comando de inicio \n");
fgets(entrada,25,stdin);

if((strcmp(entrada,"node start"))==0){

printf("la cadena es la misma");
}
else {
printf("la cadena es distinta");
}

return 1;
}
  #2 (permalink)  
Antiguo 14/09/2010, 14:05
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Falla en comparacion de cadenas

lo has debugeado?, sabes si entrada tiene "node start?.
  #3 (permalink)  
Antiguo 14/09/2010, 14:11
 
Fecha de Ingreso: mayo-2006
Mensajes: 79
Antigüedad: 18 años
Puntos: 0
Respuesta: Falla en comparacion de cadenas

sisi tiene eso pero debe ser algun problema del /0
  #4 (permalink)  
Antiguo 14/09/2010, 15:01
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Falla en comparacion de cadenas

Sera que el fgets incluye el \n al final de la linea?

Podrias intentar borrarselo con algo similar a :

Código C:
Ver original
  1. largo = strlen(entrada);
  2. if( entrada[largo-1] == '\n' )
  3.     entrada[largo-1] = 0;

o algo parecido.
  #5 (permalink)  
Antiguo 14/09/2010, 15:04
 
Fecha de Ingreso: mayo-2006
Mensajes: 79
Antigüedad: 18 años
Puntos: 0
Respuesta: Falla en comparacion de cadenas

claro sisi. Lo que hice fue comparar con algo con un \n al final

gracias y solucionado

Etiquetas: cadenas, comparacion, falla
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 13:35.