Provided by: manpages-pt-br-dev_4.21.0-2_all
NOME
memcmp - compara áreas de memória
BIBLIOTECA
Biblioteca C Padrão (libc, -lc)
SINOPSE
#include <string.h> int memcmp(const void s1[.n], const void s2[.n], size_t n);
DESCRIÇÃO
A função memcmp() compara os primeiros n bytes (cada um interpretado como unsigned char) das áreas de memórias s1 e s2.
VALOR DE RETORNO
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.
ATRIBUTOS
Para uma explicação dos termos usados nesta seção, consulte attributes(7). ┌───────────────────────────────────────────────────────────────┬───────────────┬─────────┐ │Interface │ Atributo │ Valor │ ├───────────────────────────────────────────────────────────────┼───────────────┼─────────┤ │memcmp() │ Thread safety │ MT-Safe │ └───────────────────────────────────────────────────────────────┴───────────────┴─────────┘
PADRÕES
POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD.
NOTAS
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.
VEJA TAMBÉM
bstring(3), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3)
TRADUÇÃO
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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-portuguese@lists.debian.org⟩.