Descrição
A função da biblioteca C int memcmp(const void *str1, const void *str2, size_t n)) compara o primeiro n bytes de área de memória str1 e área de memória str2.
Declaração
A seguir está a declaração da função memcmp ().
int memcmp(const void *str1, const void *str2, size_t n)
Parâmetros
str1 - Este é o ponteiro para um bloco de memória.
str2 - Este é o ponteiro para um bloco de memória.
n - Este é o número de bytes a serem comparados.
Valor de retorno
se Return value <0 então indica str1 é menor que str2.
se Return value> 0 então indica str2 é menor que str1.
se Return value = 0 então indica str1 é igual a str2.
Exemplo
O exemplo a seguir mostra o uso da função 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);
}
Vamos compilar e executar o programa acima que produzirá o seguinte resultado -
str2 is less than str1