Provided by: manpages-pl-dev_0.7-2_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), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3)

O STRONIE

       Angielska  wersja  tej  strony  pochodzi  z  wydania  4.07  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 man są: Adam Byrtek (PTM)
       <abyrtek@priv.onet.pl>, Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl>, Robert Luberda
       <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>.

       Polskie  tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na
       stronie  http://sourceforge.net/projects/manpages-pl/.  Jest   zgodne   z   wersją    4.07
       oryginału.

                                            2015-08-08                                  MEMCMP(3)