memchr()
Find the first occurrence of a character in a buffer
Synopsis:
#include <string.h> void* memchr(void* buf, int ch, size_t length );
Arguments:
- 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.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
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.
Returns:
A pointer to the located character, or NULL if ch couldn't be found.
Examples:
#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
Classification:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |