La función strncmp () en C ++ compara un número específico de caracteres de dos cadenas terminadoras nulas. La comparación se realiza de forma lexicográfica.
prototipo strncmp ()
int strncmp (const char * lhs, const char * rhs, size_t count);
La strncmp()
función toma dos argumentos: lhs, rhs y count. Compara el contenido de lhs y rhs lexicográficamente hasta un máximo de caracteres de recuento. El signo del resultado es el signo de diferencia entre los primeros pares de caracteres que difieren en lhs y rhs.
El comportamiento de strncmp()
no está definido si lhs o rhs no apuntan a cadenas terminadas en nulo.
Se define en el archivo de encabezado "> archivo de encabezado.
Parámetros strncmp ()
lhs and rhs
: Puntero a las cadenas terminadas en nulo para comparar.count
: Número máximo de caracteres para comparar.
strncmp () Valor de retorno
La strncmp()
función devuelve un:
- valor positivo si el primer carácter diferente en lhs es mayor que el carácter correspondiente en rhs.
- valor negativo si el primer carácter diferente en lhs es menor que el carácter correspondiente en rhs.
- 0 si los primeros caracteres de recuento de lhs y rhs son iguales.
Ejemplo: cómo funciona la función strncmp ()
#include #include using namespace std; void display(char *lhs, char *rhs, int result, int count) ( if(result> 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << "First " << count << " characters of " << lhs << " and " << rhs << " are same" << endl; ) int main() ( char lhs() = "Armstrong"; char rhs() = "Army"; int result; result = strncmp(lhs,rhs,3); display(lhs,rhs,result,3); result = strncmp(lhs,rhs,4); display(lhs,rhs,result,4); return 0; )
Cuando ejecute el programa, la salida será:
Los primeros 3 personajes de Armstrong y Army son los mismos Armstrong precede Army