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函数的代码实现及其基本用法。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论