std::strpbrk(3)

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

πŸ¦‹ std::strpbrk(3) πŸ¦‹

okay so bestie, welcome to the <std::strpbrk(3)> page from the C++ Standard Libary β€” and the manual name is literally std::strpbrk, no cap. this is the cute little string-pointer-break situation and we're gonna get into it πŸ’…

πŸŽ€ NAME πŸŽ€

std::strpbrk β€” std::strpbrk.

✨ Synopsis ✨

Defined in header <cstring>

          const char* strpbrk( const char* dest, const char* breakset );
              char* strpbrk(       char* dest, const char* breakset );

It scans the null-terminated byte string pointed to by dest for any character from the null-terminated byte string pointed to by breakset, and returns a pointer to that character. that's the vibe, lowkey iconic ✨

πŸ’– Parameters πŸ’–

  • dest β€” pointer to the null-terminated byte string to be analyzed
  • breakset β€” pointer to the null-terminated byte string that contains the characters to search for

πŸ”₯ Return value πŸ”₯

Pointer to the first character in dest, that is also in breakset, or null pointer if no such character exists. fr fr, if there's no match you get the null pointer, not a fake one 😭

🧚 Notes 🧚

The name stands for "string pointer break", because it returns a pointer to the first of the separator ("break") characters. iykyk 🧚

πŸ“ Example πŸ“

       // Run this code

        #include <cstring>
        #include <iomanip>
        #include <iostream>

        int main()
        {
            const char* str = "hello world, friend of mine!";
            const char* sep = " ,!";

            unsigned int cnt = 0;
            do
            {
                str = std::strpbrk(str, sep); // find separator
                std::cout << std::quoted(str) << '\n';
                if (str)
                    str += std::strspn(str, sep); // skip separator
                ++cnt; // increment word count
            } while (str && *str);

            std::cout << "There are " << cnt << " words\n";
        }

🌈 Output 🌈

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

πŸ’… See also πŸ’…

  • strcspn β€” returns the length of the maximum initial segment that consists of only the characters not found in another byte string (function)
  • strtok β€” finds the next token in a byte string (function)
  • strchr β€” finds the first occurrence of a character (function)
  • wcspbrk β€” finds the first location of any wide character in one wide string, in another wide string (function)
  • C documentation for strpbrk

🫢 source: http://cppreference.com Β· version/date: 2024.06.10 Β· page: std::strpbrk(3) β€” that's the tea, bestie πŸ’–

πŸ“¦ where this page comes from