📜  C C++中的strrchr()函数(1)

📅  最后修改于: 2023-12-03 14:59:36.098000             🧑  作者: Mango

C/C++中的strrchr()函数

简介

strrchr()是C/C++中的一个字符串处理函数,其作用是在字符串中查找一个指定字符最后一次出现的位置,并返回该位置的指针。

函数原型:

char* strrchr(const char* str, int c);
参数解释
  • str:要搜索的字符串;
  • c:要查找的字符。
返回值

如果找到了cstr中最后出现的位置,则返回该位置的指针;否则返回NULL

代码示例
#include <stdio.h>
#include <string.h>

int main() {
    char str[] = "Hello,world!";  // 定义一个字符串
    char* p = strrchr(str, 'o');  // 在字符串中查找'o'最后一次出现的位置
    if (p != NULL) {
        printf("Last 'o' is at position %ld.\n", p - str);
    } else {
        printf("Cannot find 'o'.\n");
    }
    return 0;
}

上述代码将输出:

Last 'o' is at position 8.
注意事项
  • 该函数返回的指针指向的位置是字符串中字符的地址,如果需要获取字符在字符串中的位置,可以使用指针减去字符串首地址的方式计算偏移量;
  • 如果需要在字符串中查找字符串子串的最后一次出现,可以考虑使用诸如strrstr()或者strrindex()等类似的函数;
  • 如果要查找的字符串是多字节字符,那么该函数并不保证能够正确查找到其最后一次出现的位置。