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 |