C/Visual C - Como puedo comparar dos cadenas de texto? en c++

 
Vista:

Como puedo comparar dos cadenas de texto? en c++

Publicado por jsoe morales (16 intervenciones) el 22/05/2005 00:14:51
Hola alguien me puede decir como comparar 2 cadenas de texto, osea ke me diga el programa si son iguales? ke sean del tipo siguiente:

char *cadena1="hola";
char cadena2[10]="hola";

digo esto porke, yo lo pongo asi:
If(cadena1==cadena2)

Pero no me sale siempre me dice ke es falso, porfavor diganme gracias
Atte
jose morales
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como puedo comparar dos cadenas de texto? en c+

Publicado por el_Baina (9 intervenciones) el 22/05/2005 00:53:42
pues es mu facil, las cadenas no las puedes comparar con == así sin más, para comparar cadenas y otras operaciones sobre cadenas en c existe una libreria : string.h que dispone de una funcion llamada strcmp(char* , char* ) que te devuelve 0 si las cadenas son iguales, 1 si la primera es mayor que la segunda y -1 si la primera es menor que la segunda.
es decir que para hacer lo que tu estas intentando solo tienes que poner:

if (strcmp( cadena1,cadena2) == 0 ) .....

ten cuidado porque esta funcion tiene como parámetros de entrada 2 char* no vale un char[10] para poder introducir un char[10] le tendrías que hacer un casting.

otra cosa para asignaciones de cadenas no se puede hacer utilizando "=" lo tienes que hacer con strcpy(char*,char*)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar