Вычислить количество символов строки, не входящих в заданную последовательность символов
#include <string.h>size_t strcspn( const char *str,const char *charset );
libc
Функция strcspn() выполняет поиск первого вхождения в строку str любого из символов строки charset и возвращает количество символов до найденного первого вхождения.
Поиск учитывает и завершающий NUL
-символ, поэтому, если функция возвращает длину строки str, это значит, что ни один из символов строки charset не входит в состав str.
Количество символов в исходной строке str до первого встретившегося элемента из последовательности charset.
#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);}
Код генерирует следующий вывод:
$ ./a.out 0 3 9
ANSI, POSIX 1003.1
memchr(), strchr(), strpbrk(), strrchr(), strspn(), strstr(), strtok(), strtok_r(), wcschr(), wcscspn(), wcspbrk(), wcsrchr(), wcsspn(), wcsstr(), wcstok()
Предыдущий раздел: Описание API системной библиотеки