c语言字符串匹配编程问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 10:55:00
我现在有一个字符集合char a="abc abd baf abf afb";
有一个数组,int data={1, 2, 3, 4, 5};
我现在还有一个字符集合char b="abf";
我想在字符集合a中查找到与字符集合b相匹配的字符,并且返回该字符串所在a中的位置,如本例当中,我希望得到b在a中的位置为4。
哪位大虾会的话,请给我一个程序,谢谢啦
谢谢你们的答案,我觉得第一个答案不错,但是我现在如果将字符集合b改为"abf abc abd",请问能否帮我把这个程序修改一下,然后返回一个数组,数组的第一个值表示abf单词在字符串a中的位置,即4,第二个值表示abc在字符串a中的位置,即1, 第三个值表示单词abd在字符串a中的位置,即2,非常感谢:)

您好,下面的程序,测试通过!欢迎探讨!
#include <iostream>
using namespace std;
void main()
{
char a[]="abc abd baf abf afb";
char b[]="abf";
char *pa = a,*pb = b;
int local=1;
while(*pa!='\0')
{
if(*pa == ' ')
local++;
if(*pb == *pa)
{
while(*pb == *pa)
{
pb++;
pa++;
}

if(*pb == '\0')
break;
else
pb = b;
}
pa++;
}
cout<<local<<endl;
system("pause");

}

如果要纯c语言,不要c++用下面的
#include <stdio.h>
void main()
{
char a[]="abc abd baf abf afb";
char b[]="abf";
char *pa = a,*pb = b;
int local=1;
while(*pa!='\0')
{
if(*pa == ' ')
local++;
if(*pb == *pa)
{
while(*pb == *pa)
{