std::strpbrk
Von cppreference.com
| Definiert in 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.
Inhalt |
[bearbeiten] Parameter
| dest | - | Zeiger auf den nullterminierten Byte-String, der analysiert werden soll |
| breakset | - | Zeiger auf die nullterminierte Byte-Zeichenkette, die die zu suchenden Zeichen enthält |
[bearbeiten] Rückgabewert
Zeiger auf das erste Zeichen in dest, das auch in breakset enthalten ist, oder ein Nullzeiger, wenn kein solches Zeichen existiert.
[bearbeiten] Hinweise
Der Name steht für "string pointer break" (String-Zeiger-Trennzeichen), da die Funktion einen Zeiger auf das erste der Trennzeichen ("break") zurückgibt.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#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"; }
Ausgabe
" world, friend of mine!" ", friend of mine!" " of mine!" " mine!" "!" There are 5 words
[bearbeiten] Siehe auch
| gibt die Länge des maximalen Anfangssegments zurück, das nur aus den Zeichen besteht, die in einem anderen Byte-String nicht vorkommen (Funktion) | |
| findet das nächste Token in einem Byte-String (Funktion) | |
| findet das erste Vorkommen eines Zeichens (Funktion) | |
| findet die erste Stelle irgendeines breiten Zeichens aus einer breiten Zeichenkette in einer anderen breiten Zeichenkette (Funktion) | |
| C-Dokumentation für strpbrk
| |