(用c++语言编程)

编写一个函数,测试一个指定字符是否存在一个指定字符串中.若是.则返回该字符在串中的第一次出现的位置(用c++语言)... 编写一个函数,测试一个指定字符是否存在一个指定字符串中.若是.则返回该字符在串中的第一次出现的位置(用c++语言) 展开
 我来答
marybluemary
2009-11-01 · TA获得超过315个赞
知道小有建树答主
回答量:672
采纳率:0%
帮助的人:292万
展开全部
#include <iostream>
#include <string>
using namespace std;
int search(const char* target,const char* source)
{
if(strlen(target)>strlen(target))return 0;
if(!strcmp(target,source))return 1;//strcmp在相等时返回0 注意\0是结束符,不是/0
const char *s=source;
const char *t=target;
int location=1;
for(;*s!='/0';s++,location++,t=target)
{
if(*s==*t)
{
s++;
t++;
location++;
while(*s!='/0'&&*t!='\0')
{
if (*s!=*t)
{
break;
}
s++;
t++;
location++;
}
if(*t=='\0')return location-strlen(target);
}
if(*s=='\0'||*t=='\0')return 0;

}
return 0;
}

/*——————————测试————————————————————*/

int main()
{
char* a="ab";
char* b="123an123";
//cout<<search("ab","ab");
cout<<search(a,b);
return 0;
}

没有的话返回0,有的话,返回位置,比如search("ab","abc")就返回1,也就是说位置是从1开始记得,这个自己可以改
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式