memcmp(3) Library Functions Manual memcmp(3) NOME memcmp - compara areas de memoria BIBLIOTECA Biblioteca C Padrao (libc, -lc) SINOPSE #include int memcmp(const void s1[.n], const void s2[.n], size_t n); DESCRICAO A funcao memcmp() compara os primeiros n bytes (cada um interpretado como unsigned char) das areas de memorias s1 e s2. VALOR DE RETORNO A funcao memcmp() retorna um inteiro menor que, igual a, ou maior que zero se os primeiros n bytes de s1 sao 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 e determinado pelo sinal da diferenca entre o primeiro par de bytes (interpretado como unsigned char) que diferem em s1 e s2. Se n for zero, o valor de retorno e zero. ATRIBUTOS Para uma explicacao dos termos usados nesta secao, consulte attributes(7). +--------------------------------------------+---------------+---------+ |Interface | Atributo | Valor | +--------------------------------------------+---------------+---------+ |memcmp() | Thread safety | MT-Safe | +--------------------------------------------+---------------+---------+ PADROES C11, POSIX.1-2008. HISTORICO POSIX.1-2001, C89, SVr4, 4.3BSD. CAVEATS Do not use memcmp() to compare confidential data, such as cryptographic secrets, because the CPU time required for the comparison depends on the contents of the addresses compared, this function is subject to timing-based side-channel attacks. In such cases, a function that performs comparisons in deterministic time, depending only on n (the quantity of bytes compared) is required. Some operating systems provide such a function (e.g., NetBSD's consttime_memequal()), but no such function is specified in POSIX. On Linux, you may need to implement such a function yourself. VEJA TAMBEM bstring(3), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3) TRADUCAO A traducao para portugues brasileiro desta pagina man foi criada por Felipe M Pereira , Andre Luiz Fassone e Rafael Fontenelle . Esta traducao e uma documentacao livre; leia a Licenca Publica Geral GNU Versao 3 ou posterior para as condicoes de direitos autorais. Nenhuma responsabilidade e aceita. Se voce encontrar algum erro na traducao desta pagina de manual, envie um e-mail para a lista de discussao de tradutores . Linux man-pages 6.06 31 outubro 2023 memcmp(3)