std::strcspn
Материал из cppreference.com
Определено в заголовочном файле <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> ) | |
Документация C по strcspn |