std::wcspbrk(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸ’– NAME πŸ’–

Okay bestie, welcome to the std::wcspbrk(3) page from the C++ Standard Libary manual. The NAME is literally std::wcspbrk β€” std::wcspbrk. It’s giving β€œwide character string pointer break” energy, and we’ll get to why in a sec. ✨

✨ Synopsis ✨

Defined in header <cwchar>:

const wchar_t* wcspbrk( const wchar_t* dest, const wchar_t* src );
    wchar_t* wcspbrk(       wchar_t* dest, const wchar_t* src );

So what does it do? It finds the first character in the wide string pointed to by dest, that is also in the wide string pointed to by src. That’s it. That’s the vibe. πŸ”₯

🌸 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 πŸŽ€

It hands you a pointer to the first character in dest, that is also in src, or a null pointer if no such character exists. No cap. πŸ’…

πŸ¦‹ Notes πŸ¦‹

The name stands for β€œwide character string pointer break”, because it returns a pointer to the first of the separator (β€œbreak”) characters. Cute, right? It’s literally in the name, iykyk. πŸ’œ

🌈 Example 🌈

// Run this code

#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); // 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";
}

🌟 Output 🌟

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

πŸ‘‘ See also πŸ‘‘

  • wcscspn β€” returns the length of the maximum initial segment that consists of only the wide characters 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).
  • C documentation for wcspbrk.

Sign-off cuteness: source http://cppreference.com Β· version/date 2024.06.10 Β· page std::wcspbrk(3) πŸ«ΆπŸ’–

πŸ“¦ where this page comes from