自编一个查找字符串的问题
时间:2011-11-29
来源:互联网
编了一个副函数,但不完全,求补充。
int strstr(char *p1, char *p2)
{
while(*p1 != *p2 && *p2 == '\0')
p2 ++;
while(*p1 == *p2 && *p1 == '\0')
p1 ++, p2 ++;
}
问题是如果p1是abc,p2是ABCababc,这种情况的话没考虑,应该怎样补充呢?
int strstr(char *p1, char *p2)
{
while(*p1 != *p2 && *p2 == '\0')
p2 ++;
while(*p1 == *p2 && *p1 == '\0')
p1 ++, p2 ++;
}
问题是如果p1是abc,p2是ABCababc,这种情况的话没考虑,应该怎样补充呢?
作者: scxjyzh 发布时间: 2011-11-29
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) )
s1++, s2++;
if (!*s2)
return(cp);
cp++;
}
return(NULL);
}
{
char *cp = (char *) str1;
char *s1, *s2;
if ( !*str2 )
return((char *)str1);
while (*cp)
{
s1 = cp;
s2 = (char *) str2;
while ( *s1 && *s2 && !(*s1-*s2) )
s1++, s2++;
if (!*s2)
return(cp);
cp++;
}
return(NULL);
}
作者: mougaidong 发布时间: 2011-11-29
C/C++ code
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) ) s1++, s2++; if (!*s2) return(cp); cp++; } return(NULL); }
作者: mougaidong 发布时间: 2011-11-29
那主函数呢?该怎样检测?
作者: scxjyzh 发布时间: 2011-11-29
找strstr的源码看看
作者: IVERS0N 发布时间: 2011-11-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28