C 庫 - strrchr() 函式



C 庫的 strrchr() 函式接受兩個引數 - 在引數 str 指向的字串中搜索字元 c(一個無符號字元)的最後一次出現。

以下是一些突顯其重要性的關鍵點:

  • 此函式用於查詢指定字元的最後一次出現。
  • 主要操作是檔案路徑操作、解析 URL 和處理資料格式。
  • 它節省了時間並減少了錯誤。

語法

以下是 C 庫函式 strrchr() 的語法:

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

引數

此函式接受兩個引數:

  • str - 這是 C 字串。

  • c - 這是要查詢的字元。它作為其 int 提升傳遞,但在內部轉換回 char。

返回值

此函式返回指向 str 中字元最後一次出現的指標。如果未找到該值,則該函式返回空指標。

示例 1

以下是一個基本的 C 庫程式,它展示了 strrchr() 函式的使用。

#include <stdio.h>
#include <string.h>

int main () {
   int len;
   const char str[] = "https://tutorialspoint.tw";
   const char ch = '.';
   char *ret;

   ret = strrchr(str, ch);

   printf("String after |%c| is - |%s|\n", ch, ret);
   
   return(0);
}

輸出

以上程式碼產生以下結果:

String after |.| is - |.com|

示例 2

下面的程式使用 strrchr() 在給定字串的子字串中搜索字元。

#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;
}

輸出

執行以上程式碼後,我們得到以下結果:

'W' found at position 7

示例 3

在本例中,我們將使用 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;
}

輸出

執行程式碼後,我們得到以下結果:

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