strrchr
来自 cppreference.cn
定义于头文件 <string.h> |
||
char* strrchr( const char* str, int ch ); |
(1) | |
/*QChar*/* strrchr( /*QChar*/* str, int ch ); |
(2) | (自 C23 起) |
1) 在 str 指向的空字符结尾的字节字符串中查找 ch 的最后一次出现(在转换为 char 后,如同 (char)ch 一样)(每个字符都被解释为 unsigned char)。终止空字符被视为字符串的一部分,并且如果搜索 '\0',则可以找到它。
2) 类型泛型函数,等效于 (1)。设
T
为非限定字符对象类型。- 如果
str
的类型为 const T*,则返回类型为 const char*。 - 否则,如果
str
的类型为 T*,则返回类型为 char*。 - 否则,行为未定义。
- 如果
如果 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
[编辑] 参考文献
- C23 标准 (ISO/IEC 9899:2024)
- 7.24.5.5 strrchr 函数 (页码:待定)
- C17 标准 (ISO/IEC 9899:2018)
- 7.24.5.5 strrchr 函数 (页码:待定)
- C11 标准 (ISO/IEC 9899:2011)
- 7.24.5.5 strrchr 函数 (页码:368-369)
- C99 标准 (ISO/IEC 9899:1999)
- 7.21.5.5 strrchr 函数 (页码:331)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 4.11.5.5 strrchr 函数
[编辑] 参见
查找字符的首次出现 (函数) | |
在一个字符串中查找任何字符在另一个字符串中的首次出现位置 (函数) | |
C++ 关于 strrchr 的文档 for strrchr
|