C library - strrchr() function



The C library strrchr() function accepts two argument − searches for the last occurrence of the character c (an unsigned char) in the string pointed to, by the argument str.

Here are some key point which highlights its importance −

  • This function is used to set for finding the last occurence of a specified characters.
  • The main operation is file path manipulation, parsing URL's and handling the data formats.
  • It saves the time and reduce error.

Syntax

Following is the syntax of the C library function strrchr()

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

Parameters

This function takes two parameters −

  • str − This is the C string.

  • c − This is the character to be located. It is passed as its int promotion, but it is internally converted back to char.

Return Value

This function returns a pointer to the last occurrence of character in str. If the value is not found, the function returns a null pointer.

Example 1

Following is the basic C library program that shows the usage strrchr() function.

 #include <stdio.h> #include <string.h> int main () { int len; const char str[] = "https://www.tutorialspoint.com"; const char ch = '.'; char *ret; ret = strrchr(str, ch); printf("String after |%c| is - |%s|\n", ch, ret); return(0); } 

Output

The above code produces the following result −

 String after |.| is - |.com| 

Example 2

Below the program uses strrchr() to search for a character in a substring of a given string.

 #include <stdio.h> #include <string.h> int main() { const char str[] = "Hello, World!"; const char ch = 'W'; // Search in the substring "World!" char* ptr = strrchr(str + 7, ch); if (ptr) { printf("'%c' found at position %ld\n", ch, ptr - str); } else { printf("'%c' not found in the substring\n", ch); } return 0; } 

Output

On execution of above code, we get the following result −

 'W' found at position 7 

Example 3

In this example, we will find the last occurence of a character using strrchr().

 #include <stdio.h> #include <string.h> int main() { const char str[] = "Tutorialspoint"; const char ch = 'n'; char* ptr = strrchr(str, ch); if (ptr) { printf("Last occurrence of '%c' in \"%s\" is at index %ld\n", ch, str, ptr - str); } else { printf("'%c' is not present in \"%s\"\n", ch, str); } return 0; } 

Output

After executing the code, we get the following result −

 Last occurrence of 'n' in "Tutorialspoint" is at index 12 
Advertisements