strrchr
来自cppreference.com
| 在标头 <string.h> 定义
|
||
| |
(1) | |
| |
(2) | (C23 起) |
1) 寻找
ch(如同用 (char)ch 转换到 char 后)在 str 所指向的空终止字节串中(将每个字符转译成 unsigned char)的最后出现位置。若搜索 '\0',则认为终止空字符为字符串的一部分,而且能找到。2) 等价于 (1) 的泛型函数。令
T 为未限定的 字符对象类型。
- 若
str类型为const T*,则返回类型为const char*。 - 否则,若
str类型为T*,返回类型为char*。 - 否则,行为未定义。
- 若
(strrchr) 或使用了函数指针时),则实际函数声明 (1) 即变得可见。若 str 不是指向空终止字节串的指针,则行为未定义。
参数
| str | - | 指向要分析的空终止字节字符串的指针 |
| ch | - | 要搜索的字符 |
返回值
指向 str 中找到的字符的指针,或若找不到这种字符则为空指针。
示例
运行此代码
#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);
}
输出:
Base Name: foobar.txt
引用
- C11 标准(ISO/IEC 9899:2011):
- 7.24.5.5 The strrchr function (第 TBD 页)
- C11 标准(ISO/IEC 9899:2011):
- 7.24.5.5 The strrchr function (第 TBD 页)
- C11 标准(ISO/IEC 9899:2011):
- 7.24.5.5 The strrchr function (第 368-369 页)
- C99 标准(ISO/IEC 9899:1999):
- 7.21.5.5 The strrchr function (第 331 页)
- C89/C90 标准(ISO/IEC 9899:1990):
- 4.11.5.5 The strrchr function
参阅
| 查找字符的首次出现 (函数) | |
| 查找字符串中的任意字符在另一个字符串中的首个位置 (函数) | |
strrchr 的 C++ 文档
| |