table of contents
        
      
      
    | 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);
  
  Требования
    макроса
    тестирования
    свойств
    для 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, '\0');
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
Функции memchr() и memrchr() возвращают указатель на совпавший байт, либо NULL, если в указанном участке памяти искомого байта нет.
Функция rawmemchr() возвращает указатель на совпавший байт (если он был обнаружен). Если совпадений не найдено, результат не определён.
ВЕРСИИ¶
Функция rawmemchr() впервые появилась в glibc 2.1.
Функция memrchr() впервые появилась в glibc 2.2.
СООТВЕТСТВИЕ СТАНДАРТАМ¶
Функция memchr() соответствует SVr4, 4.3BSD, C89, C99, POSIX.1-2001.
Функция memrchr() является расширением GNU, доступным в glibc начиная с версии 2.1.91.
Функция rawmemchr() является расширением GNU, доступным в glibc начиная с версии 2.1.
СМОТРИТЕ ТАКЖЕ¶
ffs(3), index(3), rindex(3), strchr(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strstr(3), wmemchr(3)
| 2012-04-23 |