弱弱的问个问题,C251中没strstr函数
stiring.h中不包含strstr函数,怎么办? 没有的话可以自己写一个,网上基本上都能找到相关参考资料://(1)库中的代码如下:
char * strstr ( const char * str1, const char * str2 )
{
char *cp = (char *) str1;
char *s1, *s2;
if ( !*str2 )
return((char *)str1);
while (*cp)
{
s1 = cp;
s2 = (char *) str2;
while ( *s1 && *s2 && !(*s1-*s2) )/*在c语言中指针与指针相减,得到的是元素的个数*/
s1++, s2++;
if (!*s2)
return(cp);
cp++;
}
return(NULL);
}
//(2)参考代码:
# include <stdio.h>
char * my_strstr( const char *s1, const char *s2)
{
int n=0;//在开始比较字符相等时走的步数
if (*s2)
{
while (*s1)
{
if (*(s1 + n) == *(s2 + n))
{
if (*(s2 + n + 1) == NULL)
{
return (char *)s1;
}
n++;
}
/* for (n=0; *(s1 + n) == *(s2 + n); n++)
{
if (*(s2 + n + 1)==NULL)
return (char *)s1;
}*/
s1++; //只要第n次不相等时,就进行s1++,直到满足条件时开始返回执行循环语句
}
return NULL;
}
else
return NULL;
}
谢谢,已经那样做了 乘风飞扬 发表于 2023-2-10 15:52
没有的话可以自己写一个,网上基本上都能找到相关参考资料:
非常感谢,我今天也遇到了这个问题{:4_197:}
页:
[1]