Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
Lenguaje C: función memcmp
(comparar bloques de memoria)
En el lenguaje de programación C, función memcmp Devuelve un entero negativo, un entero cero o un entero positivo, dependiendo de si los primeros n caracteres del objeto al que apunta s1 son menores, iguales o mayores que los primeros n caracteres del objeto al que apunta s2.
sintaxis
La sintaxis de la función memcmp en lenguaje C es:
int memcmp(const void *s1, const void *s2, size_t n);
parámetro o parámetro
s1 Las matrices con las que comparar. s2 Las matrices con las que comparar. n El número de caracteres a comparar.
devolver los bienes
La función memcmp devuelve un número entero. El valor devuelto es el siguiente:
valor de retorno | explique |
---|---|
0 | s1 y s2 son iguales |
entero negativo | El carácter de parada en s1 es menor que el carácter de parada en s2 |
entero positivo | El carácter de parada en s1 es mayor que el carácter de parada en s2 |
titulo requerido
En C, los archivos de encabezado requeridos por la función memcmp son:
#include <string.h>
aplicar para
En C, la función memcmp está disponible en las siguientes versiones:
- ANSI/ISO 9899-1990
ejemplo memcmp
Veamos un ejemplo para ver cómo usar la función memcmp en un programa C:
/* Example using memcmp by TechOnTheNet.com */ #include <stdio.h> #include <string.h> int main(int argc, const char * argv[]) { /* Create a place to store our results */ int result; /* Create two arrays to hold our data */ char example1[50]; char example2[50]; /* Copy two strings into our data arrays (These can be any data and do not have to be strings) */ strcpy(example1, "C memcmp at TechOnTheNet.com"); strcpy(example2, "C memcmp is a memory compare function"); /* Compare the two strings provided up to the first 9 characters */ result = memcmp(example1, example2, 9); /* If the two arrays are the same say so */ if (result == 0) printf("Arrays are the samen"); /* Compare the two strings provided up to the first 10 characters */ result = memcmp(example1, example2, 10); /* If the first array is less than the second say so (This is because the 'a' in the word 'at' is less than the 'i' in the word 'is' */ if (result < 0) printf("Second array is less than the firstn"); return 0; }
Cuando se compila y ejecuta, esta aplicación generará:
Arrays are the same Second array is less than the first
Función similar
Otras funciones de C similares a la función memcmp:
- función strcmp
- función strcoll
- función strncmp