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

📅  最后修改于: 2021-05-25 20:14:58             🧑  作者: Mango

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()函数传递给定的字符串,并提及您需要指向的字符。
2.函数返回一个值,打印该值。

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


C
// C code to demonstrate the working of
// strrchr()
 
#include 
#include 
 
// 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);
}


C
// C code to demonstrate the application of
// strrchr()
 
#include 
#include 
 
// 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);
}


输出:

9

C示例:

C

// C code to demonstrate the working of
// strrchr()
 
#include 
#include 
 
// 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

// C code to demonstrate the application of
// strrchr()
 
#include 
#include 
 
// 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
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”