memchr()

Определить первое вхождение символа в буфере

Прототип:

#include <string.h>
void * memchr( void *buf,
int ch,
size_t length );

Аргументы:

buf
Указатель на буфер, в котором будет производиться поиск.
ch
Искомый символ. Значение приводится к типу unsigned char.
length
Размер области буфера, в которой будет произведён поиск символа.

Библиотека:

libc

Описание:

Функция memchr() ищет первое вхождение символа ch в буфере buf, размером length байт.

Возвращаемое значение:

Указатель на искомый символ, либо NULL при его отсутствии.

Примеры:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main( void )
{
char buffer[80];
char *where;
strcpy( buffer, "video x-rays" );
where = (char *)memchr( buffer, 'x', 6 );
if ( where == NULL )
{
printf( "'x' not found\n" );
} else {
printf( "%s\n", where );
}
where = (char *)memchr( buffer, 'r', 9 );
if ( where == NULL )
{
printf( "'r' not found\n" );
} else {
printf( "%s\n", where );
}
return (EXIT_SUCCESS);
}

Код генерирует следующий вывод:

$ ./a.out 'x' not found rays

Классификация:

ANSI, POSIX 1003.1

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Да
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

memccpy(), memcmp(), memcpy(), memicmp(), memmove(), memset() strchr(), strrchr(), wmemchr(), wmemcmp(), wmemcpy(), wmemmove(), wmemset()




Предыдущий раздел: Описание API системной библиотеки