A ver si consigo explicarte lo que entendido que necesitas saber sobre strcmp:
strcmp se utiliza para
comparar cadenas de caracteres (
string
co
mpare) y tiene la siguiente estructura:
int strcmp(const char *s1, const char *s2);
Esto quiere decir que la funcion strcmp devuelve un número entero en función de los resultados obtenidos en la comparación:
- 0: las dos cadenas de caracteres pasadas como parámetro (es decir, en los paréntesis - en el ejemplo son s1 y s2- ) son exactamente iguales
Ejemplo:
Código c:
Ver originalchar cadena1[20];
char cadena2[20];
int num;
strcpy(cadena1
, "Soy la cadena 1"); //copio en cadena1 el texto "Soy la cadena 1" strcpy(cadena2
, "Soy la cadena 1"); //copio en cadena2 el texto "Soy la cadena 1"
num
= strcmp(cadena1
, cadena2
); //en num se alamacena el resultado devuelto por strcmp
if(num == 0) //como hemos alamacenado el mismo texto en cadena1 y en cadena2, entrará en el if (num tendrá almacenado el valor 0)
else
- distinto de 0: las dos cadenas de caracteres son distintas
Ejemplo (igual que el anterior solo que ahora vamos a meter un texto diferente en cada cadena):
Código c:
Ver originalchar cadena1[20];
char cadena2[20];
int num;
strcpy(cadena1
, "Soy la cadena 1"); //copio en cadena1 el texto "Soy la cadena 1" strcpy(cadena2
, "No soy la cadena 1"); //copio en cadena2 el texto "No soy la cadena 1"
num
= strcmp(cadena1
, cadena2
); //en num se alamacena el resultado devuelto por strcmp
if(num == 0) //como no hemos alamacenado el mismo texto en cadena1 y en cadena2, no entrará en el if (num tendrá almacenado un valor distinto de 0)
else //entrará entonces en el else
- < 0: la cadena s1 es menor que la cadena s2
- > 0: la cadena s1 es mayor que la cadena s2
Espero que así te haya quedado más claro...porque esque está función no tiene mucho más que explicar...