wcspbrk
From cppreference.com
Defined in header <wchar.h>
|
||
wchar_t *wcspbrk( const wchar_t *dest, const wchar_t *str ); |
(1) | (since C95) |
/*QWchar_t*/ *wcspbrk( /*QWchar_t*/ *dest, const wchar_t *str ); |
(2) | (since C23) |
1) Finds the first character in wide string pointed to by
dest
, that is also in wide string pointed to by str
.2) Type-generic function equivalent to (1). Let
T
be an unqualified wide character object type.
- If
dest
is of type const T*, the return type is const wchar_t*. - Otherwise, if
dest
is of type T*, the return type is wchar_t*. - Otherwise, the behavior is undefined.
- If
Parameters
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 |
Return value
Pointer to the first character in dest
, that is also in str
, or a null pointer if no such character exists.
Notes
The name stands for "wide character string pointer break", because it returns a pointer to the first of the separator ("break") characters.
Example
Run this code
#include <stdio.h> #include <wchar.h> int main(void) { const wchar_t* str = L"Hello world, friend of mine!"; const wchar_t* sep = L" ,!"; unsigned int cnt = 0; do { str = wcspbrk(str, sep); // find separator if (str) str += wcsspn(str, sep); // skip separator ++cnt; // increment word count } while (str && *str); wprintf(L"There are %u words.\n", cnt); }
Output:
There are 5 words.
References
- C11 standard (ISO/IEC 9899:2011):
- 7.29.4.5.3 The wcspbrk function (p: 436)
- C99 standard (ISO/IEC 9899:1999):
- 7.24.4.5.3 The wcspbrk function (p: 382)
See also
(C95) |
returns the length of the maximum initial segment that consists of only the wide chars not found in another wide string (function) |
(C95) |
finds the first occurrence of a wide character in a wide string (function) |
finds the first location of any character in one string, in another string (function) |