Provided by: manpages-pl-dev_4.13-4_all bug

NAZWA

       memcmp - porównuje obszary pamięci

SKŁADNIA

       #include <string.h>

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

OPIS

       Funkcja  memcmp()  porównuje  pierwsze  n bajtów (każdy interpretowany jako unsigned char)
       obszaru pamięci s1 z obszarem s2.

WARTOŚĆ ZWRACANA

       Funkcja memcmp() zwraca liczbę całkowitą mniejszą od zera, równą zeru lub większą od zera,
       jeżeli s1 jest odpowiednio mniejszy niż, równy lub większy niż pierwsze n bajtów s2.

       Jeśli wartość zwracana jest niezerowa, dodatni lub ujemny znak tej wartości jest określany
       na podstawie znaku różnicy pomiędzy pierwszą parę bajtów (interpretowanych  jako  unsigned
       char), które się różnią pomiędzy s1 i s2.

       Jeśli n jest zerem, zwracaną wartością jest zero.

ATRYBUTY

       Informacje   o   pojęciach   używanych   w  tym  rozdziale  można  znaleźć  w  podręczniku
       attributes(7).

       ┌──────────┬────────────────────────┬─────────┐
       │InterfejsAtrybutWartość │
       ├──────────┼────────────────────────┼─────────┤
       │memcmp()  │ Bezpieczeństwo wątkowe │ MT-Safe │
       └──────────┴────────────────────────┴─────────┘

ZGODNE Z

       POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.

UWAGI

       Nie  należy  używać  memcmp()  do  porównywania   danych   krytycznych   ze   względu   na
       bezpieczeństwo,  takich  jak  sekrety  kryptograficzne,  ponieważ  wymagany czas procesora
       zależy od liczby równający się sobie bajtów. W zamian, wymagana  jest  funkcja  wykonująca
       porównanie  w stałych czasie. Niektóre systemy operacyjne udostępniają taką funkcję (np. w
       systemie NetBSD jest to consttime_memequal()),  lecz  nie  określono  jej  w  specyfikacji
       POSIX. Pod Linuksem może być konieczne samodzielne zaimplementowanie takiej funkcji.

ZOBACZ TAKŻE

       bcmp(3),  bstring(3),  strcasecmp(3),  strcmp(3),  strcoll(3), strncasecmp(3), strncmp(3),
       wmemcmp(3)

O STRONIE

       Angielska wersja tej strony  pochodzi  z  wydania  5.10  projektu  Linux  man-pages.  Opis
       projektu,  informacje  dotyczące  zgłaszania  błędów oraz najnowszą wersję oryginału można
       znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

T◈UMACZENIE

       Autorami  polskiego  tłumaczenia   niniejszej   strony   podręcznika   są:   Adam   Byrtek
       <alpha@irc.pl>,   Andrzej   Krzysztofowicz   <ankry@green.mf.pg.gda.pl>,   Robert  Luberda
       <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe  informacje  o  warunkach  licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  lub  nowszej.  Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres listy dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.

                                       15 września 2017 r.                              MEMCMP(3)