strpbrk
Von cppreference.com
| Definiert in Header <string.h> |
||
| char *strpbrk( const char *dest, const char *breakset ); |
(1) | |
| /*QChar*/ *strpbrk( /*QChar*/ *dest, const char *breakset ); |
(2) | (seit C23) |
1 ) Sucht in der nullterminierten 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.
2) Typ-generische Funktion, äquivalent zu (1). Sei
T ein nicht-qualifizierter Zeichentyp.- Wenn
destvom Typ const T* ist, ist der Rückgabetyp const char*. - Andernfalls, wenn
destvom Typ T* ist, ist der Rückgabetyp char*. - Andernfalls ist das Verhalten undefiniert.
- Wenn
Das Verhalten ist undefiniert, wenn dest oder breakset kein Zeiger auf eine nullterminierte Byte-Zeichenkette ist.
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 sich auch in breakset befindet, oder ein Nullzeiger, wenn kein solches Zeichen existiert.
[bearbeiten] Hinweise
Der Name steht für "string pointer break" (Zeichenkettenzeiger-Unterbrechung), da er einen Zeiger auf das erste der Trennzeichen ("break") zurückgibt.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <stdio.h> #include <string.h> int main(void) { const char* str = "hello world, friend of mine!"; const char* sep = " ,!"; unsigned int cnt = 0; do { str = strpbrk(str, sep); // find separator if(str) str += strspn(str, sep); // skip separator ++cnt; // increment word count } while(str && *str); printf("There are %u words\n", cnt); }
Ausgabe
There are 5 words
[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.24.5.4 Die Funktion strpbrk (p: TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.24.5.4 Die Funktion strpbrk (p: TBD)
- C11-Standard (ISO/IEC 9899:2011)
- 7.24.5.4 Die Funktion strpbrk (p: 368)
- C99-Standard (ISO/IEC 9899:1999)
- 7.21.5.4 Die Funktion strpbrk (p: 331)
- C89/C90-Standard (ISO/IEC 9899:1990)
- 4.11.5.4 Die Funktion strpbrk
[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 erste Vorkommen eines Zeichens (Funktion) | |
| (C11) |
findet das nächste Token in einem Byte-String (Funktion) |
| C++ Dokumentation für strpbrk
| |