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的位置。
廣告