La función memcmp () en C ++ compara un número específico de caracteres de dos objetos punteros
prototipo de memcmp ()
int memcmp (const void * lhs, const void * rhs, size_t count);
La memcmp()
función toma tres argumentos: lhs, rhs y count. Esta función primero interpreta los objetos apuntados por lhs y rhs como matrices de unsigned char
. Luego compara los primeros caracteres de recuento de lhs y rhs lexicográficamente.
Se define en el archivo de encabezado "> archivo de encabezado.
Parámetros de memcmp ()
lhs and rhs
: Puntero a los objetos de memoria para comparar.count
: Número máximo de bytes para comparar.
memcmp () Valor de retorno
La función memcmp () devuelve:
- valor positivo si el primer byte diferente en
lhs
es mayor que el byte correspondiente enrhs
. - valor negativo si el primer byte diferente
lhs
es menor que el byte correspondienterhs
. - 0 si los primeros bytes de recuento de
lhs
yrhs
son iguales.
Ejemplo: cómo funciona la función memcmp ()
#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() = "Hello World!"; char rhs() = "Hello Earth!"; int result; result = memcmp(lhs, rhs, 5); display(lhs, rhs, result, 5); result = memcmp(lhs, rhs, 7); display(lhs, rhs, result, 7); return 0; )
Cuando ejecute el programa, la salida será:
Primeros 5 personajes de Hello World! y ¡Hola Tierra! son lo mismo ¡Hola Tierra! precede a Hello World!