std::wcspbrk
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <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 - указатель на разрыв строки широких символов", поскольку она возвращает указатель на первый из символов-разделителей ("разрыв").
Пример
Запустить этот код
#include <cwchar>
#include <iomanip>
#include <iostream>
int main()
{
const wchar_t* str = L"Привет мир, мой друг!";
const wchar_t* sep = L" ,!";
std::wcout.imbue(std::locale("en_US.utf8"));
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"Есть " << cnt << L" слова\n";
}
Вывод:
" world, friend of mine!"
", friend of mine!"
" of mine!"
" mine!"
"!"
There are 5 words
Смотрите также
| возвращает длину максимального начального сегмента, который состоит только из широких символов не найденных в другой широкой строке (функция) | |
| находит первое вхождение широкого символа в широкой строке (функция) | |
| находит первое местоположение любого символа из набора разделителей (функция) | |
Документация C по wcspbrk
|