Linux repositories inspector
2019-03-06
Aliases: memrchr(3), memrchr(3), memrchr(3), memrchr(3), memrchr(3), memrchr(3), memrchr(3), memrchr(3), memrchr(3), memrchr(3), memrchr(3), memrchr(3), rawmemchr(3), rawmemchr(3), rawmemchr(3), rawmemchr(3), rawmemchr(3), rawmemchr(3), rawmemchr(3), rawmemchr(3), rawmemchr(3), rawmemchr(3)

man-pages-ru

Russian man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

ИМЯ

memchr, memrchr, rawmemchr - выполняют поиск символа в памяти

ОБЗОР

#include <string.h>

void *memchr(const void *s, int c, size_t n);
void *memrchr(const void *s, int c, size_t n);
void *rawmemchr(const void *s, int c);
Требования макроса тестирования свойств для glibc (смотрите feature_test_macros(7)):
memrchr(), rawmemchr(): _GNU_SOURCE

ОПИСАНИЕ

Функция memchr() сканирует первые n байт участка памяти, указанного в s, в поисках экземпляра c. Считается, что байты в памяти, указанной s, и значение c имеют тип unsigned char.
Функция memrchr() похожа на memchr(), за исключением того, что она ищет в участке n байт, указанных в s, не сначала, а с конца.
Функция rawmemchr() похожа на memchr(): она подразумевает (то есть программист в этом уверен), что экземпляр c точно находится где-то в памяти начало которой указано s, и при это производит оптимизированный поиск символа c (то есть, не используется счётчик для ограничения диапазона поиска). Если экземпляр c не найден, то результат непредсказуем. Следующий вызов является примером быстрого поиска завершающего строку байта null:
char *p = rawmemchr(s, \(aq\0\(aq);

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

Функции memchr() и memrchr() возвращают указатель на совпавший байт, либо NULL, если в указанном участке памяти искомого байта нет.
Функция rawmemchr() возвращает указатель на совпавший байт (если он был обнаружен). Если совпадений не найдено, результат не определён.

ВЕРСИИ

Функция rawmemchr() впервые появилась в glibc 2.1.
Функция memrchr() впервые появилась в glibc 2.2.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
Интерфейс Атрибут Значение
memchr(), memrchr(), rawmemchr() Безвредность в нитях MT-Safe

СООТВЕТСТВИЕ СТАНДАРТАМ

memchr(): POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
Функция memrchr() является расширением GNU, доступным в glibc начиная с версии 2.1.91.
Функция rawmemchr() является расширением GNU, доступным в glibc начиная с версии 2.1.
⇧ Top