strrchr

From cppreference.com
< c‎ | string‎ | byte
 
 
 
Null-terminated byte strings
Functions
Character manipulation
Conversions to and from numeric formats
(哋它亢99)
(哋它亢99)
(哋它亢99)
(哋它亢99)(哋它亢99)
(哋它亢99)(哋它亢99)
(哋它亢23)(哋它亢23)(哋它亢23)
String manipulation
(哋它亢11)
(哋它亢11)
(哋它亢11)
(哋它亢11)
(哋它亢23)
(哋它亢23)

String examination
Memory manipulation
(哋它亢23)(哋它亢11)
(哋它亢11)
(哋它亢11)
(哋它亢23)
Miscellaneous
(哋它亢11)(哋它亢11)
 
Defined in header <string.h>
char* strrchr( const char* str, int ch );
(1)
/*QChar*/* strrchr( /*QChar*/* str, int ch );
(2) (since 哋它亢23)
1) Finds the last occurrence of ch (after conversion to char as if by (char)ch) in the null-terminated byte string pointed to by str (each character interpreted as unsigned char). The terminating null character is considered to be a part of the string and can be found if searching for '\0'.
2) Type-generic function equivalent to (1). Let T be an unqualified character object type.
  • If str is of type const T*, the return type is const char*.
  • Otherwise, if str is of type T*, the return type is char*.
  • Otherwise, the behavior is undefined.
If a macro definition of each of these generic functions is suppressed to access an actual function (e.g. if (strrchr) or a function pointer is used), the actual function declaration (1) becomes visible.

The behavior is undefined if str is not a pointer to a null-terminated byte string.

Parameters

str - pointer to the null-terminated byte string to be analyzed
ch - character to search for

Return value

Pointer to the found character in str, or null pointer if no such character is found.

Example

#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);
}

Output:

Base Name: foobar.txt

References

  • 哋它亢23 standard (ISO/IEC 9899:2023):
  • 7.24.5.5 The strrchr function (p: TBD)
  • 哋它亢17 standard (ISO/IEC 9899:2018):
  • 7.24.5.5 The strrchr function (p: TBD)
  • 哋它亢11 standard (ISO/IEC 9899:2011):
  • 7.24.5.5 The strrchr function (p: 368-369)
  • 哋它亢99 standard (ISO/IEC 9899:1999):
  • 7.21.5.5 The strrchr function (p: 331)
  • 哋它亢89/C90 standard (ISO/IEC 9899:1990):
  • 4.11.5.5 The strrchr function

See also

finds the first occurrence of a character
(function)
finds the first location of any character in one string, in another string
(function)