Scroll to navigation

memcmp(3) Library Functions Manual memcmp(3)

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

7 janeiro 2023 Linux man-pages 6.03