Spec-Zone.ru › C

strcspn

Определено в заголовке <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

См. также

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/string/byte/strcspn

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API