Namespaces
Variants

strcmp

From cppreference.net
< c ‎ | string ‎ | byte
Definido en el encabezado <string.h>
int strcmp ( const char * lhs, const char * rhs ) ;

Compara dos cadenas de bytes terminadas en nulo lexicográficamente.

El signo del resultado es el signo de la diferencia entre los valores del primer par de caracteres (ambos interpretados como unsigned char ) que difieren en las cadenas que se están comparando.

El comportamiento es indefinido si lhs o rhs no son punteros a cadenas de bytes terminadas en nulo.

Contenidos

Parámetros

lhs, rhs - punteros a las cadenas de bytes terminadas en nulo a comparar

Valor de retorno

Valor negativo si lhs aparece antes que rhs en orden lexicográfico.

Cero si lhs y rhs son iguales.

Valor positivo si lhs aparece después de rhs en orden lexicográfico.

Notas

Esta función no es sensible a la configuración regional, a diferencia de strcoll y strxfrm .

Ejemplo

#include <stdio.h>
#include <string.h>
void demo(const char* lhs, const char* rhs)
{
    const int rc = strcmp(lhs, rhs);
    const char* rel = rc < 0 ? "precedes" : rc > 0 ? "follows" : "equals";
    printf("[%s] %s [%s]\n", lhs, rel, rhs);
}
int main(void)
{
    const char* string = "Hello World!";
    demo(string, "Hello!");
    demo(string, "Hello");
    demo(string, "Hello there");
    demo("Hello, everybody!" + 12, "Hello, somebody!" + 11);
}

Salida:

[Hello World!] precedes [Hello!]
[Hello World!] follows [Hello]
[Hello World!] precedes [Hello there]
[body!] equals [body!]

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.24.4.2 La función strcmp (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.24.4.2 La función strcmp (p: TBD)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.24.4.2 La función strcmp (p: 365-366)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.21.4.2 La función strcmp (p: 328-329)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.11.4.2 La función strcmp

Véase también

compara una cantidad determinada de caracteres de dos cadenas
(función)
(C95)
compara dos cadenas anchas
(función)
compara dos búferes
(función)
compara dos cadenas de acuerdo con la configuración regional actual
(función)