![]() |
![]() |
![]() |
Locate the first occurrence of a character in a buffer
#include <string.h> void* memchr( const void* buf, int ch, size_t length );
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; }
produces the output:
'x' not found rays
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |
memccpy(), memcmp(), memcpy(), memicmp(), memmove(), memset()
![]() |
![]() |
![]() |