strrchr()函数
时间: 2024-01-15 09:19:54 浏览: 28
`strrchr()` 是一个在 C 语言中常用的字符串函数,它用于查找一个字符串中最后一个匹配某个特定字符的索引。如果找到了匹配的字符,它会返回一个指向该字符的指针;如果没有找到,它会返回 NULL。
函数的原型通常如下:
```c
char *strrchr(const char *str, int c);
```
参数说明:
* `str`:这是你要在其中搜索的字符串。
* `c`:这是你要查找的字符。
函数返回一个指向找到的字符的指针,如果没有找到则返回 NULL。
这个函数的使用方法如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
char *last_ptr = strrchr(str, 'l');
if (last_ptr != NULL) {
printf("Last occurrence of 'l' is at position: %ld\n", (long) last_ptr - (long) str);
} else {
printf("Character not found.\n");
}
return 0;
}
```
这个程序会输出 "Last occurrence of 'l' is at position: 7",因为 'l' 在字符串中的最后一个位置是第 7 个字符。
需要注意的是,`strrchr()` 函数在找到匹配的字符后会移动到该字符之后的所有字符,所以在返回的指针中使用的 `-` 操作符不会得到最后一个匹配字符后的下一个字符。如果你想找到最后一个匹配字符后的下一个字符,你应该使用 `strchr()` 或 `memrchr()` 函数。