table of contents
- bullseye-backports 4.17.0-2~bpo11+1
- testing 4.17.0-2
- unstable 4.17.0-2
MEMCHR(3) | Руководство программиста Linux | MEMCHR(3) |
ИМЯ¶
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);
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, '\0');
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
Функции 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.
СМ. ТАКЖЕ¶
bstring(3), ffs(3), index(3), memmem(3), rindex(3), strchr(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strstr(3), wmemchr(3)
ЗАМЕЧАНИЯ¶
Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан 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 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
6 марта 2019 г. |