Lenguaje C: función memcmp (comparación de bloques de memoria)

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