memcmp(3)

NUME
memcmp - compară zonele de memorie

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <string.h>

int memcmp(size_t n;
           const void s1[n], const void s2[n], size_t n);

DESCRIERE
Funcția memcmp() compară primii n octeți (fiecare interpretat ca unsigned char) din zonele de memorie s1 și s2.

VALOAREA RETURNATĂ
Funcția memcmp() returnează un număr întreg mai mic, egal sau mai mare decât zero dacă se constată că primii n octeți din s1 sunt mai mici, se potrivesc sau sunt mai mari decât primii n octeți din s2.

Pentru o valoare de returnare diferită de zero, semnul este determinat de semnul diferenței dintre prima pereche de octeți (interpretată ca unsigned char) care diferă între s1 și s2.

Dacă n este zero, valoarea de returnare este zero.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
memcmp() | Siguranța firelor | MT-Safe

STANDARDE
C11, POSIX.1-2008.

ISTORIC
POSIX.1-2001, C89, SVr4, 4.3BSD.

LIMITĂRI
Nu utilizați memcmp() pentru a compara date confidențiale, cum ar fi secretele criptografice, deoarece timpul CPU necesar pentru comparație depinde de conținutul adreselor comparate, această funcție este supusă atacurilor pe canalul lateral bazate pe sincronizare. În astfel de cazuri, este necesară o funcție care realizează comparații în timp determinist, în funcție doar de n (cantitatea de octeți comparați). Unele sisteme de operare oferă o astfel de funcție (de exemplu, consttime_memequal() de la NetBSD), dar nu este specificată o astfel de funcție în POSIX. În Linux, este posibil să fie necesar să implementați dumneavoastră o astfel de funcție.

CONSULTAȚI ȘI
bstring(3), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.