C 参考手册

定义于头文件 <string.h>
char *strrchr( const char *str, int ch );

寻找 ch (如同用 (char)ch 转换到 char 后)在 str 所指向的空终止字节串中(将每个字符转译成 unsigned char )的最后出现。若搜索 '\0' ,则认为终止空字符为字符串的一部分,而且能找到。

str 不是指向空终止字节串的指针,则行为未定义。

参数

str - 指向要分析的空终止字节字符串的指针
ch - 要搜索的字符

返回值

指向 str 中找到的字符的指针,或若找不到这种字符则为空指针。

示例

#include <string.h>
#include <stdio.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);
}

输出:

Base Name: foobar.txt

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.24.5.5 The strrchr function (p: 368-369)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.21.5.5 The strrchr function (p: 331)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.11.5.5 The strrchr function

参阅

查找字符的首次出现
(函数)
查找一个字符串中的任意一个字符在另一个字符串中的首个位置
(函数)