Namespaces
Variants

strchr

From cppreference.net
< c ‎ | string ‎ | byte
Definiert im 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 zu char wie durch ( char ) ch ) in der nullterminierten Byte-Zeichenkette, auf die str zeigt (jedes Zeichen wird als unsigned char interpretiert). Das abschließende Nullzeichen wird als Teil der Zeichenkette betrachtet und kann bei der Suche nach ' \0 ' gefunden werden.
2) Typgenerische Funktionsäquivalent zu (1) . Sei T ein unqualifizierter Zeichenobjekttyp.
  • Falls str vom Typ const T * ist, ist der Rückgabetyp const char * .
  • Andernfalls, falls str vom Typ T * ist, ist der Rückgabetyp char * .
  • Andernfalls ist das Verhalten undefiniert.
Falls 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 eine nullterminierte Byte-Zeichenkette ist.

Inhaltsverzeichnis

Parameter

str - Zeiger auf den nullterminierten Byte-String, der analysiert werden soll
ch - zu suchendes Zeichen

Rückgabewert

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

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.'

Referenzen

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

Siehe auch

durchsucht ein Array nach dem ersten Vorkommen eines Zeichens
(Funktion)
findet das letzte Vorkommen eines Zeichens
(Funktion)
findet die erste Position eines beliebigen Zeichens aus einem String in einem anderen String
(Funktion)