Scroll to navigation

MEMCMP(3) Manual do Programador do Linux MEMCMP(3)

NOME

memcmp - compara áreas de memória

SINOPSE

#include <string.h>
int memcmp(const void *s1, const void *s2, 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

DE ACORDO COM

POSIX.1-2001, POSIX.1-2008, C89, 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

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

COLOFÃO

Esta página faz parte da versão 5.13 do projeto Linux man-pages. Uma descrição do projeto, informações sobre relatórios de bugs e a versão mais recente desta página podem ser encontradas em https://www.kernel.org/doc/man-pages/.

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 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.

22 março 2021