Función de biblioteca C - memcmp ()

Descripción

La función de la biblioteca C int memcmp(const void *str1, const void *str2, size_t n)) compara el primero n bytes de área de memoria str1 y área de memoria str2.

Declaración

A continuación se muestra la declaración de la función memcmp ().

int memcmp(const void *str1, const void *str2, size_t n)

Parámetros

  • str1 - Este es el puntero a un bloque de memoria.

  • str2 - Este es el puntero a un bloque de memoria.

  • n - Este es el número de bytes que se van a comparar.

Valor devuelto

  • si el valor de retorno es <0, indica que str1 es menor que str2.

  • si Valor de retorno> 0, indica que str2 es menor que str1.

  • si Valor de retorno = 0, indica que str1 es igual a str2.

Ejemplo

El siguiente ejemplo muestra el uso de la función memcmp ().

#include <stdio.h>
#include <string.h>

int main () {
   char str1[15];
   char str2[15];
   int ret;

   memcpy(str1, "abcdef", 6);
   memcpy(str2, "ABCDEF", 6);

   ret = memcmp(str1, str2, 5);

   if(ret > 0) {
      printf("str2 is less than str1");
   } else if(ret < 0) {
      printf("str1 is less than str2");
   } else {
      printf("str1 is equal to str2");
   }
   
   return(0);
}

Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:

str2 is less than str1