當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。