std::wcspbrk - std::wcspbrk
Defined in header <cwchar>
const wchar_t* wcspbrk( const wchar_t* dest, const wchar_t* str );
wchar_t* wcspbrk( wchar_t* dest, const wchar_t* str );
Finds the first character in wide string pointed to by dest, that is also in
wide
string pointed to by str.
dest - pointer to the null-terminated wide string to be analyzed
src - pointer to the null-terminated wide string that contains the characters
to
search for
Pointer to the first character in dest, that is also in str, or a
null pointer if no
such character exists.
The name stands for "wide character string pointer
break", because it returns a
pointer to the first of the separator ("break") characters.
// Run this code
#include <iostream>
#include <cwchar>
#include <iomanip>
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); // find separator
std::wcout << std::quoted(str) << L'\n';
if (str) str += std::wcsspn(str, sep); // skip separator
++cnt; // increment word count
} 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
returns the length of the maximum initial segment that consists
wcscspn of only the wide not found in another wide string
(function)
wcschr finds the first occurrence of a wide character in a wide string
(function)
strpbrk finds the first location of any character from a set of separators
(function)