table of contents
- bookworm 4.18.1-1
- bookworm-backports 4.26.0-1~bpo12+1
- testing 4.26.0-1
- unstable 4.26.0-1
memcmp(3) | Library Functions Manual | memcmp(3) |
НАИМЕНОВАНИЕ¶
memcmp — сравнить области памяти
БИБЛИОТЕКА¶
Стандартная библиотека языка C (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> и Kirill Rekhov <krekhov.dev@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
7 января 2023 г. | Справочные страницы Linux 6.03 |