memchr()

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

Прототип:

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

Аргументы:

buf
The buffer that you want to search.
ch
The character that you're looking for.
length
The number of bytes to search in the buffer.

Библиотека:

libc

Описание:

The memchr() function locates the first occurrence of ch (converted to an unsigned char) in the first length bytes of the buffer pointed to by buf.

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

A pointer to the located character, or NULL if ch couldn't be found.

Примеры:

#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 системной библиотеки