wcspbrk

From cppreference.com
< c ‎ | string ‎ | wide
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 a macro definition of each of these generic functions is suppressed to access an actual function (e.g. if ( wcspbrk ) or a function pointer is used), the actual function declaration (1) becomes visible.

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

#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)