C語言中的字串搜尋函式是什麼?


C語言中的字串搜尋函式

該庫還提供了一些字串搜尋函式,如下所示:

char *strchr (const char *string, int c);
查詢字串中字元c的第一次出現。
char *strrchr (const char *string, int c);
查詢字串中字元c的最後一次出現。
char *strpbrk (const char *s1, const char *s2);
返回指向字串s1中s2中任何字元的第一次出現的指標,如果s2中的任何字元都不存在於s1中,則返回空指標。
size_t strspn (const char *s1, const char *s2);
返回s1開頭與s2匹配的字元數。
size_t strcspn (const char *s1, const char *s2);
返回s1開頭**不**匹配s2的字元數。
char *strtok (char *s1, const char *s2);
將s1指向的字串分解成一系列標記,每個標記都由s2指向的字串中的一個或多個字元分隔。
char *strtok_r (char *s1, const char *s2, char *lasts);
與strtok()的功能相同,只是**必須**由呼叫者提供指向字串佔位符lasts的指標。

strchr() 和 strrchr() 最易於使用。

示例1

以下是**字串搜尋函式**的C程式:

 線上演示

#include <string.h>
#include <stdio.h>
void main(){
   char *str1 = "Hello";
   char *ans;
   ans = strchr (str1,'l');
   printf("%s
", ans); }

輸出

執行上述程式後,將產生以下結果:

llo

執行完畢後,ans 指向 str1 + 2 的位置。

**strpbrk()**是一個更通用的函式,它搜尋一組字元中的第一個出現的字元。

示例2

以下是**strpbrk()函式**用法的C程式:

 線上演示

#include <string.h>
#include <stdio.h>
void main(){
   char *str1 = "Hello";
   char *ans;
   ans = strpbrk (str1,"aeiou");
   printf("%s
",ans); }

輸出

執行上述程式後,將產生以下結果:

ello

這裡,ans指向str1 + 1的位置,也就是第一個e的位置。

更新於:2024年6月20日

1K+ 次瀏覽

啟動你的職業生涯

透過完成課程獲得認證

開始學習
廣告