Count the characters at the beginning of a string that aren't in a given character set
#include <string.h> size_t strcspn( const char* str, const char* charset );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The strcspn() function finds the length of the initial segment of the string pointed to by str that consists entirely of characters not from the string pointed to by charset. The terminating NUL character isn't considered part of str.
The length of the initial segment.
#include <stdio.h> #include <string.h> #include <stdlib.h> int main( void ) { printf( "%d\n", strcspn( "abcbcadef", "cba" ) ); printf( "%d\n", strcspn( "xxxbcadef", "cba" ) ); printf( "%d\n", strcspn( "123456789", "cba" ) ); return EXIT_SUCCESS; }
produces the output:
0 3 9
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |
memchr(), strchr(), strpbrk(), strrchr(), strspn(), strstr(), strtok(), strtok_r(), wcschr(), wcscspn(), wcspbrk(), wcsrchr(), wcsspn(), wcsstr(), wcstok()