Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       memcmp — сравнить области памяти

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <string.h>

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

ОПИСАНИЕ

       Функция memcmp() сравнивает первые n байт (каждый как unsigned char) из областей памяти s1
       и s2.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Функция memcmp() возвращает целое число меньше, равное, или выше нуля если первые  n  байт
       из s1 соответственно меньше, равны, или больше чем первые n байт из s2.

       Для  возвращаемого  значения,  отличного  от  нуля,  его знак определяется знаком разности
       первой пары байтов (которые unsigned char) в s1 и s2.

       Если n равно нулю, возвращаемое значение тоже ноль.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌───────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ИнтерфейсАтрибутЗначение │
       ├───────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │memcmp()                                               │ Безвредность в нитях │ MT-Safe  │
       └───────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

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

ЗАМЕЧАНИЯ

       Не используйте memcmp() для сравнения важных  с  точки  зрения  безопасности  данных,  как
       например  криптографические  секреты,  потому  что  для  этой  функции требуемое время CPU
       зависит от  числа  одинаковых  байтов.  Используйте  функции,  производящие  сравнение  за
       constant  time. (Например в NetBSD функция consttime_memequal()). В POSIX подобная функция
       не предусмотрена.

СМ. ТАКЖЕ

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

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан aereiae  <aereiae@gmail.com>,  Alexey
       <a.chepugov@gmail.com>,  Azamat  Hackimov  <azamat.hackimov@gmail.com>, Dmitriy S. Seregin
       <dseregin@59.ru>,      Dmitry      Bolkhovskikh      <d20052005@yandex.ru>,       ITriskTI
       <ITriskTI@gmail.com>,  Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван
       Павлов <pavia00@gmail.com> и Малянов Евгений Викторович <maljanow@outlook.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.