memcmp(3) Library Functions Manual memcmp(3) NAZWA memcmp - porownuje obszary pamieci BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include int memcmp(const void s1[.n], const void s2[.n], size_t n); OPIS Funkcja memcmp() porownuje pierwsze n bajtow (kazdy interpretowany jako unsigned char) obszaru pamieci s1 z obszarem s2. WARTOSC ZWRACANA Funkcja memcmp() zwraca liczbe calkowita mniejsza od zera, rowna zeru lub wieksza od zera, jezeli s1 jest odpowiednio mniejszy niz, rowny lub wiekszy niz pierwsze n bajtow s2. Jesli wartosc zwracana jest niezerowa, dodatni lub ujemny znak tej wartosci jest okreslany na podstawie znaku roznicy pomiedzy pierwsza pare bajtow (interpretowanych jako unsigned char), ktore sie roznia pomiedzy s1 i s2. Jesli n jest zerem, zwracana wartoscia jest zero. ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +---------------------------+--------------------------+---------------+ |Interfejs | Atrybut | Wartosc | +---------------------------+--------------------------+---------------+ |memcmp() | Bezpieczenstwo watkowe | MT-bezpieczne | +---------------------------+--------------------------+---------------+ STANDARDY C11, POSIX.1-2008. HISTORIA 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. ZOBACZ TAKZE bstring(3), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Adam Byrtek , Andrzej Krzysztofowicz , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. memcmp(3)