Пространства имён
Варианты
Действия

std::strcspn

Материал из cppreference.com
< cpp‎ | string‎ | byte
 
 
 
Однобайтовые строки с завершающим нулём
Функции
Манипуляции с символами
Преобразование в числовые форматы
Манипуляции со строками
Проверка строки
Манипуляции с памятью
Разное
 
Определено в заголовочном файле <cstring>
std::size_t strcspn(constchar*dest, constchar*src );

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

Имя функции означает "complementary span - дополнительный диапазон".

Содержание

[править]Параметры

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

[править]Возвращаемое значение

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

[править]Пример

#include <cstddef>#include <cstring>#include <iomanip>#include <iostream>#include <string>   int main(){std::string s ="abcde312$#@";constchar* invalid ="*$#";   conststd::size_t valid_len = std::strcspn(s.c_str(), invalid);if(valid_len != s.size()){std::cout<<std::quoted(s)<<" содержит недопустимые символы, начиная с позиции "<< valid_len <<'\n'<<std::string(valid_len +1, '-')<<"^\n";}}

Вывод:

"abcde312$#@" содержит недопустимые символы, начиная с позиции 8 ---------^

[править]Смотрите также

возвращает длину максимального начального сегмента, который состоит
только из символов, найденных в другой строке байтов
(функция)[править]
возвращает длину максимального начального сегмента, который состоит
только из широких символов не найденных в другой широкой строке
(функция)[править]
находит первое местоположение любого символа из набора разделителей
(функция)[править]
ищет первое вхождение символов
(public функция-элемент std::basic_string<CharT,Traits,Allocator>)[править]
close