Namensräume
Varianten
Aktionen

strchr

Von cppreference.com
< c‎ | string‎ | byte
Definiert in Header <string.h>
char* strchr( const char* str, int ch );
(1)
/*QChar*/ *strchr( /*QChar*/ *str, int ch );
(2) (seit C23)
1) Findet das erste Vorkommen von ch (nach Konvertierung in char, als ob durch (char)ch) im null-terminierten Byte-String, auf den str zeigt (jedes Zeichen wird als unsigned char interpretiert). Das abschließende Nullzeichen gilt als Teil des Strings und kann gefunden werden, wenn nach '\0' gesucht wird.
2) Typ-generische Funktion, äquivalent zu (1). Sei T ein nicht-qualifizierter Zeichentyp.
  • Wenn str vom Typ const T* ist, ist der Rückgabetyp const char*.
  • Andernfalls, wenn str vom Typ T* ist, ist der Rückgabetyp char*.
  • Andernfalls ist das Verhalten undefiniert.
Wenn eine Makrodefinition jeder dieser generischen Funktionen unterdrückt wird, um auf eine tatsächliche Funktion zuzugreifen (z. B. wenn (strchr) oder ein Funktionszeiger verwendet wird), wird die tatsächliche Funktionsdeklaration (1) sichtbar.

Das Verhalten ist undefiniert, wenn str kein Zeiger auf einen null-terminierten Byte-String ist.

Inhalt

[bearbeiten] Parameter

str - Zeiger auf den nullterminierten Byte-String, der analysiert werden soll
ch - Zu durchsuchendes Zeichen

[bearbeiten] Rückgabewert

Zeiger auf das gefundene Zeichen in str, oder Nullzeiger, wenn kein solches Zeichen gefunden wurde.

[bearbeiten] Beispiel

#include <stdio.h>
#include <string.h>
 
int main(void)
{
    const char *str = "Try not. Do, or do not. There is no try.";
    char target = 'T';
    const char* result = str;
 
    while((result = strchr(result, target)) != NULL)
    {
        printf("Found '%c' starting at '%s'\n", target, result);
        ++result; // Increment result, otherwise we'll find target at the same location
    }
}

Ausgabe

Found 'T' starting at 'Try not. Do, or do not. There is no try.'
Found 'T' starting at 'There is no try.'

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.24.5.2 Die strchr-Funktion (p: TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.24.5.2 Die strchr-Funktion (p: TBD)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.24.5.2 Die strchr-Funktion (p: 367-368)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.21.5.2 Die strchr-Funktion (p: 330)
  • C89/C90-Standard (ISO/IEC 9899:1990)
  • 4.11.5.2 Die strchr-Funktion

[bearbeiten] Siehe auch

durchsucht ein Array nach dem ersten Vorkommen eines Zeichens
(Funktion) [bearbeiten]
findet das letzte Vorkommen eines Zeichens
(Funktion) [bearbeiten]
findet die erste Position eines beliebigen Zeichens aus einem String in einem anderen String
(Funktion) [bearbeiten]
C++ Dokumentation für strchr