strstr
Von cppreference.com
| Definiert in Header <string.h> |
||
| char* strstr( const char* str, const char* substr ); |
(1) | |
| /*QChar*/* strstr( /*QChar*/* str, const char* substr ); |
(2) | (seit C23) |
1) Findet das erste Vorkommen der nullterminierten Byte-Zeichenkette, auf die von substr gezeigt wird, in der nullterminierten Byte-Zeichenkette, auf die von str gezeigt wird. Die abschließenden Nullzeichen werden nicht verglichen.
2) Typ-generische Funktion, äquivalent zu (1). Sei
T ein nicht-qualifizierter Zeichentyp.- Wenn
strvom Typ const T* ist, ist der Rückgabetyp const char*. - Andernfalls, wenn
strvom Typ T* ist, ist der Rückgabetyp char*. - Andernfalls ist das Verhalten undefiniert.
- Wenn
Das Verhalten ist undefiniert, wenn str oder substr kein Zeiger auf eine nullterminierte Byte-Zeichenkette ist.
Inhalt |
[bearbeiten] Parameter
| str | - | Zeiger auf die zu untersuchende nullterminierte Byte-Zeichenkette |
| substr | - | Zeiger auf die zu suchende nullterminierte Byte-Zeichenkette |
[bearbeiten] Rückgabewert
Zeiger auf das erste Zeichen der gefundenen Teilzeichenkette in str oder ein Nullzeiger, wenn keine solche Teilzeichenkette gefunden wird. Wenn substr auf eine leere Zeichenkette zeigt, wird str zurückgegeben.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <stdio.h> #include <string.h> void find_str(char const* str, char const* substr) { char const* pos = strstr(str, substr); if (pos) printf( "Found the string [%s] in [%s] at position %td\n", substr, str, pos - str ); else printf( "The string [%s] was not found in [%s]\n", substr, str ); } int main(void) { char const* str = "one two three"; find_str(str, "two"); find_str(str, ""); find_str(str, "nine"); find_str(str, "n"); return 0; }
Ausgabe
Found the string [two] in [one two three] at position 4 Found the string [] in [one two three] at position 0 The string [nine] was not found in [one two three] Found the string [n] in [one two three] at position 1
[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.24.5.7 Die Funktion strstr (p: TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.24.5.7 Die Funktion strstr (p: 269)
- C11-Standard (ISO/IEC 9899:2011)
- 7.24.5.7 Die Funktion strstr (p: 369)
- C99-Standard (ISO/IEC 9899:1999)
- 7.21.5.7 Die Funktion strstr (p: 332)
- C89/C90-Standard (ISO/IEC 9899:1990)
- 4.11.5.7 Die Funktion strstr
[bearbeiten] Siehe auch
| findet das erste Vorkommen eines Zeichens (Funktion) | |
| findet das letzte Vorkommen eines Zeichens (Funktion) | |
| C++ Dokumentation für strstr
| |