C语言中的字符串搜索功能有哪些?

该库还提供了几个字符串搜索功能,如下所示 -

char *strchr (const char *string, intc);
查找字符串中第一次出现的字符 c。
char "strrchr (const char "string, intc);
查找字符串中最后一次出现的字符 c。
char *strpbrk (const char *s1,const char *s2);
返回指向字符串 s1 中第一次出现字符串 s2 中任何字符的指针,如果 s1 中不存在来自 s2 的字符,则返回空指针。
size_t strspn (const char *s1, const char *s2);
返回 s1 开头与 s2 匹配的字符数。
size_t strcspn (const char *51, const char *s2);
返回 s1 开头不匹配 s2的字符数。
char *strtok (char *s1,const char *s2);
将 si 指向的字符串分解为一系列标记,每个标记都由 s2 指向的字符串中的一个或多个字符分隔。
char *strtok_r (char *s1,const char *s2, char
与 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\n", 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\n",ans);

}

输出结果

执行上述程序时,会产生以下结果 -

ello

这里ans指向位置str1+1,第一个e的位置。

以上是 C语言中的字符串搜索功能有哪些? 的全部内容, 来源链接: utcz.com/z/359025.html

回到顶部