Namespaces
Variants

std:: wcspbrk

From cppreference.net
Определено в заголовке <cwchar>
const wchar_t * wcspbrk ( const wchar_t * dest, const wchar_t * src ) ;
wchar_t * wcspbrk ( wchar_t * dest, const wchar_t * src ) ;

Находит первый символ в широкой строке, на которую указывает dest , который также присутствует в широкой строке, на которую указывает src .

Содержание

Параметры

dest - указатель на анализируемую широкую строку с нулевым завершением
src - указатель на широкую строку с нулевым завершением, содержащую символы для поиска

Возвращаемое значение

Указатель на первый символ в dest , который также присутствует в src , или нулевой указатель, если такого символа не существует.

Примечания

Название расшифровывается как "wide character string pointer break", потому что функция возвращает указатель на первый из символов-разделителей ("break").

Пример

#include <cwchar>
#include <iomanip>
#include <iostream>
int main()
{
    const wchar_t* str = L"Hello world, friend of mine!";
    const wchar_t* sep = L" ,!";
    unsigned int cnt = 0;
    do
    {
        str = std::wcspbrk(str, sep); // найти разделитель
        std::wcout << std::quoted(str) << L'\n';
        if (str)
            str += std::wcsspn(str, sep); // пропустить разделитель
        ++cnt; // увеличить счетчик слов
    } while (str && *str);
    std::wcout << L"There are " << cnt << L" words\n";
}

Вывод:

" world, friend of mine!"
", friend of mine!"
" of mine!"
" mine!"
"!"
There are 5 words

Смотрите также

возвращает длину максимального начального сегмента, состоящего
только из широких символов, не найденных в другой широкой строке
(функция)
находит первое вхождение широкого символа в широкой строке
(функция)
находит первое вхождение любого символа из набора разделителей
(функция)