memcmp(3) | Library Functions Manual | memcmp(3) |
memcmp - compara áreas de memória
Biblioteca C Padrão (libc, -lc)
#include <string.h>
int memcmp(const void s1[.n], const void s2[.n], 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, 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.
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.
7 janeiro 2023 | Linux man-pages 6.03 |