std::strcspn — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
| Определено в заголовочном файле |
||
|
|
||
Возвращает длину максимального начального сегмента строки байтов, на которую указывает dest, который состоит только из символов не найденных в строке байтов, на которую указывает src.
Имя функции означает "complementary span - дополнительный диапазон".
Параметры
| dest | — | указатель на строку байтов с нулевым завершающим символом, подлежащую анализу |
| src | — | указатель на строку байтов с нулевым завершающим символом, содержащую искомые символы |
Возвращаемое значение
Длина максимального начального сегмента, содержащего только символы, не найденные в строке байтов, на которую указывает src.
Пример
#include <cstddef> #include <cstring> #include <iomanip> #include <iostream> #include <string> int main() { std::string s = "abcde312$#@"; const char* invalid = "*$#"; const std::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>) [править]
| |