写了个strstr()函数,为什么不起作用呢,该如何解决
写了个strstr()函数,为什么不起作用呢
自己写了个函数实现strstr函数的功能,可不起作用,大侠能帮忙看看嘛?非常感谢
strstr函数的功能是从字符串str1中查找是否有字符串str2,如果有,从str1中的str2位置起,返回str1中str2起始位置的指针,如果没有,返回null。
------解决方案--------------------
自己对照对照吧
http://www.opensource.apple.com/source/xnu/xnu-792.13.8/libsa/strstr.c
------解决方案--------------------
------解决方案--------------------
楼主一重循环能实现吗!!
还是好好跟踪下你的程序吧.
下断点, 然后F5执行, 你就知道你的程序错在哪里了.
------解决方案--------------------
为啥都答非所问呢……
string[i] == string[j]
改为:
string[i] == strChrSet[j]
------解决方案--------------------
是strCharSet
用手机写代码真不是人干的……
------解决方案--------------------
支持2楼,这样才不会改变原有数据,高手啊
------解决方案--------------------
------解决方案--------------------
自己写了个函数实现strstr函数的功能,可不起作用,大侠能帮忙看看嘛?非常感谢
const char *mystrstr(const char *string,const char *strCharSet)
{
int i=0;
int j=0;
while(string[i]!='\0'&&strCharSet[j]!='\0')
{
if(string[i]==string[j])
{
i++;
j++;
}
else
{
i=i-j+1;
j=0;
}
}
if(strCharSet[j]=='\0')
return (string+i-j);
else
return NULL;
}
int _tmain(int argc, _TCHAR* argv[])
{
const char *test;
test=mystrstr("testone","st");
printf("%s\n",test);
std::cin.get();
std::cin.get();
return 0;
}
strstr函数的功能是从字符串str1中查找是否有字符串str2,如果有,从str1中的str2位置起,返回str1中str2起始位置的指针,如果没有,返回null。
------解决方案--------------------
自己对照对照吧
http://www.opensource.apple.com/source/xnu/xnu-792.13.8/libsa/strstr.c
------解决方案--------------------
const char *mystrstr(const char *string,const char *strCharSet)
{
while(*string != '\0')
{
const char *p = string;
const char *q = strCharSet;
const char *res = NULL;
if(*p == *q)
{
res = p;
while(*p && *q && *p++ == *q++)
;
if(*q == '\0')
return res;
}
string++;
}
return NULL;
}
------解决方案--------------------
楼主一重循环能实现吗!!
还是好好跟踪下你的程序吧.
下断点, 然后F5执行, 你就知道你的程序错在哪里了.
------解决方案--------------------
为啥都答非所问呢……
string[i] == string[j]
改为:
string[i] == strChrSet[j]
------解决方案--------------------
是strCharSet
用手机写代码真不是人干的……
------解决方案--------------------
支持2楼,这样才不会改变原有数据,高手啊
------解决方案--------------------
//这里是想干啥? 比较?
if(string[i]==string[j])
{
i++;
j++;
}
else
{
i=i-j+1;
j=0;
}
------解决方案--------------------
if(string[i]==string[j])
{