std::strcspn
Определено в заголовке <cstring> | ||
|---|---|---|
std::size_t strcspn( const char *dest, const char *src ); |
Возвращает длину максимального начального сегмента байтовой строки, на которую указывает dest, состоящего только из символов, не встречающихся в байтовой строке, на которую указывает src.
Имя функции означает «дополнительный интервал».
Параметры
| 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)
<< " contains invalid chars starting at position "
<< valid_len << '\n'
<< std::string(valid_len + 1, '-') << "^\n";
}
}Вывод:
"abcde312$#@" contains invalid chars starting at position 8 ---------^
См. также
| возвращает длину максимального начального сегмента, состоящего только из символов, найденных в другой байтовой строке (функция) |
|
| возвращает длину максимального начального сегмента, состоящего только из символов, не найденных в другой широкой строке (функция) |
|
| находит первое расположение любого символа из набора разделителей (функция) |
|
| найти первое вхождение символов (публичный член-функция std::basic_string<CharT,Traits,Allocator>) |
|
C документация для strcspn |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/byte/strcspn