Namensräume
Varianten
Aktionen

strrchr

Von cppreference.com
< c‎ | string‎ | byte
Definiert in Header <string.h>
char* strrchr( const char* str, int ch );
(1)
/*QChar*/* strrchr( /*QChar*/* str, int ch );
(2) (seit C23)
1) Sucht das letzte Vorkommen von ch (nach Konvertierung in char, als ob durch (char)ch) in der nullterminierten Byte-Zeichenkette, auf die str zeigt (jedes Zeichen wird als unsigned char interpretiert). Das terminierende Nullzeichen gilt als Teil der Zeichenkette 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 (strrchr) 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.

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

[bearbeiten] Beispiel

#include <stdio.h>
#include <string.h>
 
int main(void)
{
    char szSomeFileName[] = "foo/bar/foobar.txt";
    char* pLastSlash = strrchr(szSomeFileName, '/');
    char* pszBaseName = pLastSlash ? pLastSlash + 1 : szSomeFileName;
    printf("Base Name: %s", pszBaseName);
}

Ausgabe

Base Name: foobar.txt

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.24.5.5 Die Funktion strrchr (p: TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.24.5.5 Die Funktion strrchr (p: TBD)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.24.5.5 Die Funktion strrchr (p: 368-369)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.21.5.5 Die Funktion strrchr (p: 331)
  • C89/C90-Standard (ISO/IEC 9899:1990)
  • 4.11.5.5 Die Funktion strrchr

[bearbeiten] Siehe auch

findet das erste 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 strrchr