📜  C++ strrchr()(1)

📅  最后修改于: 2023-12-03 15:29:51.569000             🧑  作者: Mango

C++ strrchr()

简介

在 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() 函数。