📅  最后修改于: 2023-12-03 15:29:51.569000             🧑  作者: Mango
在 C++ 中,strrchr()
函数是一个字符串函数,用于在给定的字符串中从最后一个字符开始搜索给定字符的位置。该函数返回指向该字符的指针。如果未找到该字符,则返回 NULL
。
#include <cstring>
char* strrchr(const char* str, int c);
str
:待搜索的字符串。c
:要搜索的字符。如果找到字符,strrchr()
函数返回该字符的指针。否则返回 NULL
。
#include <iostream>
#include <cstring>
int main()
{
char str[] = "Hello World";
char* p;
// 查找最后一个空格
p = strrchr(str, ' ');
if (p != NULL)
std::cout << "Last space found at position " << p - str;
else
std::cout << "Space not found.";
return 0;
}
输出结果:
Last space found at position 5
#include <iostream>
#include <cstring>
int main()
{
char file_name[] = "example.cpp";
char* p_ext;
// 查找文件名中的扩展名
p_ext = strrchr(file_name, '.');
// 如果找到扩展名,则将指针移到扩展名之后的第一个字符位置
if (p_ext != NULL)
p_ext++;
else
p_ext = file_name + strlen(file_name);
std::cout << "File extension is " << p_ext;
return 0;
}
输出结果:
File extension is cpp
strrchr()
函数搜索的字符串必须以 '\0'
结尾。strrchr()
函数对大小写敏感。如果要进行大小写不敏感的搜索,可以使用 strcasestr()
函数。