用C语言实现字符串子串查找的方法详解

更新时间:01-26 教程 由 蓝玉 分享

在C语言中,字符串是以字符数组的形式存在的。在实际开发中,经常需要在字符串中查找一个子串是否存在。本文将介绍用C语言实现字符串子串查找的方法。

1. strstr()函数

C语言中提供了一个字符串库函数strstr(),可以用来查找一个字符串中是否包含另一个字符串。该函数的原型为

stst char str2);

其中,str1表示要查找的字符串,str2表示要查找的子串。该函数会返回子串在字符串中次出现的位置,如果没有找到则返回NULL。

cludecludeg.h>

tain()

char str1[] = "hello world";

char str2[] = "world";

char p;

p = strstr(str1, str2);

if (p != NULL)

{tf", p - str1);

}

else

{tf");

}

找到了,位置是6

2. 自己实现查找函数

如果不想使用系统提供的函数,也可以自己实现查找函数。具体实现方法如下

(1)遍历字符串,找到个与子串个字符相同的字符;

(2)从该位置开始,比较字符串中剩下的字符与子串中的字符是否相同,如果全部相同,则说明找到了子串。

cludecludeg.h>

td_substr(char str1, char str2)

{t i, j, k;

for (i = 0; str1[i] != '\0'; i++)

{

for (j = i, k = 0; str2[k] != '\0' && str1[j] == str2[k]; j++, k++);

if (str2[k] == '\0')

{ i;

}

}

tain()

char str1[] = "hello world";

char str2[] = "world";t pos;

d_substr(str1, str2);

if (pos != -1)

{tf", pos);

}

else

{tf");

}

找到了,位置是6

本文介绍了两种用C语言实现字符串子串查找的方法,一种是使用系统提供的函数strstr(),另一种是自己实现查找函数。在实际开发中,可以根据需要选择合适的方法。

声明:关于《用C语言实现字符串子串查找的方法详解》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2123298.html