Определить первое вхождение символа в буфере
#include <string.h>void * memchr( void *buf,int ch,size_t length );
unsigned char
.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 системной библиотеки