char* strrchr( const char* str, int ch );
(1)/*QChar*/* strrchr( /*QChar*/* str, int ch );
(2) (since C23)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.
str
is of type const T*, the return type is const char*.str
is of type T*, the return type is char*.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.
[edit] Parameters str - pointer to the null-terminated byte string to be analyzed ch - character to search for [edit] Return valuePointer to the found character in str, or null pointer if no such character is found.
[edit] 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:
[edit] ReferencesRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4