Namespaces
Variants

std:: strpbrk

From cppreference.net
Definiert im Header <cstring>
const char * strpbrk ( const char * dest, const char * breakset ) ;
char * strpbrk ( char * dest, const char * breakset ) ;

Durchsucht die nullterminierte Byte-Zeichenkette, auf die dest zeigt, nach einem beliebigen Zeichen aus der nullterminierten Byte-Zeichenkette, auf die breakset zeigt, und gibt einen Zeiger auf dieses Zeichen zurück.

Inhaltsverzeichnis

Parameter

dest - Zeiger auf die zu analysierende nullterminierte Byte-Zeichenkette
breakset - Zeiger auf die nullterminierte Byte-Zeichenkette, die die zu durchsuchenden Zeichen enthält

Rückgabewert

Zeiger auf das erste Zeichen in dest , das auch in breakset enthalten ist, oder ein null-Zeiger falls kein solches Zeichen existiert.

Hinweise

Der Name steht für "String Pointer Break", da er einen Zeiger auf das erste der Trennzeichen ("Break") zurückgibt.

Beispiel

#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); // Trennzeichen finden
        std::cout << std::quoted(str) << '\n';
        if (str)
            str += std::strspn(str, sep); // Trennzeichen überspringen
        ++cnt; // Wortzähler erhöhen
    } while (str && *str);
    std::cout << "Es gibt " << cnt << " Wörter\n";
}

Ausgabe:

" world, friend of mine!"
", friend of mine!"
" of mine!"
" mine!"
"!"
Es gibt 5 Wörter

Siehe auch

gibt die Länge des maximalen Anfangssegments zurück, das ausschließlich
aus Zeichen besteht, die nicht in einer anderen Byte-Zeichenkette gefunden werden
(Funktion)
findet das nächste Token in einer Byte-Zeichenkette
(Funktion)
findet das erste Vorkommen eines Zeichens
(Funktion)
findet die erste Position eines beliebigen Breitzeichens aus einer Breitzeichenkette in einer anderen Breitzeichenkette
(Funktion)
C-Dokumentation für strpbrk