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


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


strrchr()函数
在C++中,strrchr()是用于字符串处理的预定义函数。 cstring是字符串函数所需的头文件。

此函数返回一个指针,该指针指向字符串中最后一次出现的字符。
我们想要找到的最后一个出现的字符作为函数的第二个参数传递,而我们必须在其中找到该字符的字符串作为函数的第一个参数传递。
句法

char *strrchr(const char *str, int c) 

在这里,str是字符串,c是要定位的字符。它作为int促销传递,但在内部转换回char。
应用
给定C++中的字符串,我们需要找到一个字符的最后一次出现,我们说“ a”。


例子:

Input:string = 'This is a string'
Output:9

Input:string = 'My name is Ayush'
Output:12

算法
1.在strchr()函数中传递给定的字符串,并提及您需要指向的字符。
3.函数返回一个值,打印该值。

// C++ program to demonstrate working strchr() 
#include <iostream> 
#include <cstring> 
using namespace std; 
  
int main() 
{ 
  char str[] = "This is a string"; 
  char * ch = strrchr(str,'a'); 
  cout << ch - str + 1; 
  return 0; 
}

输出:

9

C示例:

// C code to demonstrate the working of 
// strrchr() 
  
#include <stdio.h> 
#include <string.h> 
  
// Driver function 
int main() 
{ 
  
    // initializing variables 
    char st[] = "GeeksforGeeks"; 
    char ch = 'e'; 
    char* val; 
  
    // Use of strrchr() 
    // returns "ks" 
    val = strrchr(st, ch); 
  
    printf("String after last %c is:  %s \n", ch, val); 
  
    char ch2 = 'm'; 
  
    // Use of strrchr() 
    // returns null 
    // test for null 
    val = strrchr(st, ch2); 
  
    printf("String after last %c is:  %s ", ch2, val); 
  
    return (0); 
}

输出:

String after last e is: eks 
String after last m is: (null) 

实际应用:由于它在最后一次出现特定字符后返回整个字符串,因此可以用来提取字符串的后缀。例如,当我们知道第一个数字时,要知道一个面额中的整个前导零。该示例如下所示。

// C code to demonstrate the application of 
// strrchr() 
  
#include <stdio.h> 
#include <string.h> 
  
// Driver function 
int main() 
{ 
  
    // initializing the denomination 
    char denom[] = "Rs 10000000"; 
  
    // Printing original string 
    printf("The original string is:%s", denom); 
  
    // initializing the initial number 
    char first = '1'; 
    char* entire; 
  
    // Use of strrchr() 
    // returns entire number 
    entire = strrchr(denom, first); 
  
    printf("\nThe denomination value is:%s ", entire); 
  
    return (0); 
}

输出:

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


相关用法


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