Namespaces
Variants

strcspn

From cppreference.net
< c ‎ | string ‎ | byte
Определено в заголовочном файле <string.h>
size_t strcspn ( const char * dest, const char * src ) ;

Возвращает длину максимального начального сегмента нуль-терминированной байтовой строки, на которую указывает dest , состоящего только из символов не найденных в нуль-терминированной байтовой строке, на которую указывает src .

Поведение не определено, если либо dest , либо src не является указателем на байтовую строку, завершающуюся нулевым символом.

Содержание

Параметры

dest - указатель на анализируемую нуль-терминированную байтовую строку
src - указатель на нуль-терминированную байтовую строку, содержащую символы для поиска

Возвращаемое значение

Длина максимального начального сегмента, содержащего только символы, не найденные в строке байтов с завершающим нулем, на которую указывает src

Примечания

Название функции означает «дополнительный диапазон», поскольку функция ищет символы, не найденные в src , то есть дополнение src .

Пример

#include <string.h>
#include <stdio.h>
int main(void)
{
    const char *string = "abcde312$#@";
    const char *invalid = "*$#";
    size_t valid_len = strcspn(string, invalid);
    if(valid_len != strlen(string))
       printf("'%s' contains invalid chars starting at position %zu\n",
               string, valid_len);
}

Вывод:

'abcde312$#@' contains invalid chars starting at position 8

Ссылки

  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.24.5.3 Функция strcspn (стр. 368)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.21.5.3 Функция strcspn (стр. 331)
  • Стандарт C89/C90 (ISO/IEC 9899:1990):
  • 4.11.5.3 Функция strcspn

Смотрите также

возвращает длину максимального начального сегмента, который состоит
только из символов, найденных в другой байтовой строке
(функция)
(C95)
возвращает длину максимального начального сегмента, который состоит
только из широких символов, не найденных в другой широкой строке
(функция)
находит первое вхождение любого символа из одной строки в другой строке
(функция)