Spec-Zone.ru › C++

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
---------^

См. также

strspn
возвращает длину максимального начального сегмента, состоящего
только из символов, найденных в другой байтовой строке
(функция)
wcscspn
возвращает длину максимального начального сегмента, состоящего
только из широких символов, не найденных в другой широкой строке
(функция)
strpbrk
находит первое вхождение любого символа из набора разделителей
(функция)
find_first_of
находит первое вхождение символов
(открытая функция-член 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/cpp/string/byte/strcspn

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API