strrchr
是 C 语言标准库中的字符串处理函数,其目的是在字符串中查找指定字符(或结束符 \0
)的最后一个匹配,并返回指向该字符的指针。
函数签名:
char *strrchr(const char *str, int ch);
参数:
str
:要在其中搜索的 C 字符串。ch
:要查找的字符,其 ASCII 值被转换为unsigned char
类型。
返回值:
- 如果找到了匹配的字符,返回指向该字符的指针。
- 如果未找到匹配的字符,返回
NULL
。
示例:
#include <stdio.h>
#include <string.h>
int main() {
const char str[] = "Hello, World!";
// 在字符串中查找逗号的最后一个匹配
const char *lastComma = strrchr(str, ',');
if (lastComma != NULL) {
// 找到逗号,打印其位置及之后的字符串
printf("Last comma found at position: %ld\n", lastComma - str);
printf("Substring after last comma: %s\n", lastComma + 1);
} else {
// 未找到逗号
printf("Comma not found in the string.\n");
}
return 0;
}
在这个例子中,strrchr
函数在字符串 “Hello, World!” 中查找逗号的最后一个匹配。如果找到了逗号,就打印逗号在字符串中的位置,并输出逗号后面的子串。如果未找到逗号,就打印未找到的消息。