Existen varias, cada una con diferentes propósitos (omitiendo las variantes de caracteres anchos por ahora).
strcmp
- compara dos cadenas, carácter por carácter (con la noción C de qué cadenas son iguales o no, eso no tiene por qué coincidir con cómo piensan los humanos - ver strcoll
). Hay una variante para comparar solo los primeros como máximo n caracteres, strncmp
.
strcasecmp
- compara dos cadenas, haciendo caso omiso de la caja. Hay una variante para comparar solo los primeros como máximo n caracteres, strncasecmp
.
strcoll
- compara dos cadenas, observando la configuración regional actualmente configurada (razón por la cual se llama intercalación, no comparando en este caso). Si quiere ss
y ß
para comparar igual para un público alemán, entonces esto es lo que debe usar.
donde se puede escribir
if (string1 > string2) ...
en un idioma, usted tiene que escribir
if (strmp(string1, string2) > 0) ...
en C. En esencia se mueve ambos operandos en la llamada de función, retener el operador de comparación y en su lugar, compare con 0
.