MEMCMP(3) Library Functions Manual MEMCMP(3)

memcmp - compara áreas de memória

Standard C library (libc, -lc)

#include <string.h>
int memcmp(const void *s1, const void *s2, size_t n);

A função memcmp() compara os primeiros n bytes (cada um interpretado como unsigned char) das áreas de memórias s1 e s2.

A função memcmp() retorna um inteiro menor que, igual a, ou maior que zero se os primeiros n bytes de s1 são encontrados, respectivamente, menor que, igual a, ou maior que os primeiros n bytes de s2.

Para um valor de retorno diferente de zero, o sinal é determinado pelo sinal da diferença entre o primeiro par de bytes (interpretado como unsigned char) que diferem em s1 e s2.

Se n for zero, o valor de retorno é zero.

Para uma explicação dos termos usados nesta seção, consulte attributes(7).

Interface Atributo Valor
memcmp() Thread safety MT-Safe

POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.

Não use memcmp() para comparar dados críticos de segurança, como segredos criptográficos, porque o tempo de CPU necessário depende do número de bytes iguais. Em vez disso, é necessária uma função que execute comparações em tempo constante. Alguns sistemas operacionais fornecem tal função (por exemplo, consttime_memequal() do NetBSD), mas nenhuma função é especificada no POSIX. No Linux, pode ser necessário implementar essa função sozinho.

bcmp(3), bstring(3), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3)

A tradução para português brasileiro desta página man foi criada por Felipe M Pereira <Felipe.Pereira@ic.unicamp.br>, André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>.

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.

9 outubro 2022 Linux man-pages 6.01