当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ strrchr()用法及代码示例


C++ strrchr() 函数查找给定字符串中指定字符最后一次出现的位置并返回指向它的指针。如果未找到该字符,则返回 NULL 指针。

它是 C 的标准库函数,由 C++ 继承,因此它仅适用于 C 风格的字符串(即字符数组)。它在 <cstring> 和 <string.h> 头文件中定义。

用法:

char *strrchr(const char *str, int chr);

参数:

  • str:指定指向要在其中执行搜索的以 null 结尾的字符串的指针。
  • chr: 指定要搜索的字符。

返回值:

  • 该函数返回一个指向最后一个位置的指针chr在字符串中如果chr被发现。
  • 如果chr没有找到,它返回一个空指针。

例子:

C++


// C++ code to demonstrate the application of
// strrchr()
#include <cstring>
#include <iostream>
using namespace std;
int main()
{
    // initializing the denomination
    char denom[] = "Rs 10000000";
    // Printing original string
    cout << "The original string is : " << denom;
    // initializing the initial number
    char first = '1';
    char* entire;
    // Use of strrchr()
    // returns entire number
    entire = strrchr(denom, first);
    cout << "\nThe denomination value is : " << entire;
    return 0;
}
输出
Index of last occurrence of i: 14

时间复杂度: 在),

空间复杂度:O(1),

其中 n 是字符串的长度。

strrchr()函数在C++中的实际应用

由于它返回最后一次出现特定字符后的整个字符串,因此可用于提取字符串的后缀。例如,当我们知道第一个数字时,就可以知道面额中的整个前导零。

例子:

C++

输出
The original string is : Rs 10000000
The denomination value is : 10000000

时间复杂度:O(N),因为函数 strrhcr() 的时间复杂度是 O(N),其中 N 是给定 String 的长度。

辅助空间:O(1),因为我们没有使用任何额外的空间。



相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 strrchr() in C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。