std::strcspn
Материал из cppreference.com
Определено в заголовочном файле <cstring>
|
||
std::size_t strcspn( const char *dest, const char *src ); |
||
Возвращает длину максимального начального сегмента строки байтов, на которую указывает 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> )
| |
Документация C по strcspn
|