求助,已知一组字符串,在这组字符串中找到一组自定义的子串,求方法
本帖最后由 惊鸿夹雪 于 2013-11-26 22:26 编辑如题;
比如: char str[]={"abcd,efg\nhijkLMN,opqrst"};
用什么方法找到子串: "LMN" 并返回子串的开始位置,结束位置?
#include <stdio.h>
int FindStr(char str[]); //定义查找字串函数,找到则返回起始位置,否则返回-1
int main(int argc, char* argv[])
{
int ret;
char str[]={"abcd,efg\nhijkLMN,opqrst"};
ret = FindStr(str);
if(ret>=0)
{
printf("起始位置:%d",ret+1);
printf("结束位置:%d",ret+4);
}
else
{printf("未找到字串\"LMN\"") ; }
getchar();
return 0;
}
int FindStr(char str1[])
{
int i=0;
while(str1!='\0')
{
if((str1=='L')&&(str1=='M')&&(str1=='N'))
{
return i;
}
i++;
}
return -1;
} 此处略缺三万 发表于 2013-11-27 05:00 static/image/common/back.gif
#include
int FindStr(char str[]); //定义查找字串函数,找到则返回起始位置,否则返回-1
int main( ...
要是需要查找的字符串有十几个,那么判断就..... 惊鸿夹雪 发表于 2013-11-27 14:29 static/image/common/back.gif
要是需要查找的字符串有十几个,那么判断就.....
比如将一个文件的内容写入到数组里, 然后在在这组巨大的字符串里找一组稍微巨大的字符串...
哥.你这方法不是很通用嘛 find函数就够了, 中间调用一下lenth函数,+find函数返回的index就可以得到结束位置。 惊鸿夹雪 发表于 2013-11-27 14:29 static/image/common/back.gif
要是需要查找的字符串有十几个,那么判断就.....
既然是学习,为何不发挥你的想象自己修饰一番? 我用5楼的方法做了一下,是可以的,lz可以用find函数来查找字符串中的子字符串,返回值是size_type类型的子字符串第一个字符的索引值 #include "stdio.h"
void shuchu(char str[])
{
int i;
for(i=0;i<26;i++)
{
if(str=='L')
printf("%c是第%d个\n",str,i+1);
if(str=='M')
printf("%c是第%d个\n",str,i+1);
if(str=='N')
printf("%c是第%d个\n",str,i+1);
}
return;
}
int main(void)
{
char str[]={"abcd,efg\nhijkLMN,opqrst"};
shuchu(str);
return 0;
}
#include "stdio.h"
void shuchu(char str[])
{
int i;
for(i=0;i<26;i++)
{
if(str=='L')
printf("%c是第%d个\n",str,i+1);
if(str=='M')
printf("%c是第%d个\n",str,i+1);
if(str=='N')
printf("%c是第%d个\n",str,i+1);
}
return;
}
int main(void)
{
char str[]={"abcd,efg\nhijkLMN,opqrst"};
shuchu(str);
return 0;
}
请看看
页:
[1]