strstr函数代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
strstr函数代码
strstr函数是一个C语言中的字符串函数,其作用是在一个字符串中查找另一个字符串的位置并返回。
以下是strstr函数的代码实现:
```
#include <stdio.h>
#include <string.h>
char *strstr(char *str1, char *str2)
{
char *p = str1;
char *q = str2;
char *s = NULL;
while (*p)
{
s = p;
while (*s && *q && (*s == *q))
{
s++;
q++;
}
if (!*q)
{
return p;
}
q = str2;
p++;
}
return NULL;
}
int main()
{
char str1[100] = 'hello, world!'; char str2[10] = 'world';
char *p;
p = strstr(str1, str2);
if (p)
{
printf('%s is found in %s
', str2, str1);
}
else
{
printf('%s is not found in %s
', str2, str1);
}
return 0;
}
```
该函数的实现过程是:首先利用两个指针p、q来指向要查找的两个字符串的首字符,然后用一个指针s来遍历str1字符串。
在遍历s时,如果s和q指向的字符相等,则继续遍历,否则p指针向后移动一位,q指针重新指向str2的首位。
在遍历过程中,如果q指针指向字符串的末尾,则返回p指针的位置,即表示找到了str2在str1中的位置。
如果遍历完整个str1字符串,还未找到str2,则返回NULL。
在main函数中,先定义两个字符串str1和str2,并用strstr 函数查找str2在str1中的位置。
如果返回的指针不为空,则表示找到了str2,否则表示没有找到。
最后根据返回的指针输出相应的结果。
以上就是strstr函数的代码实现及其基本用法。