请帮帮我!!
它不起作用,我没有犯错误!
有一个函数来验证彼此的字符串是否存在? 谢谢 !!
#include <iostream>
#include <string>
using namespace std;
int main()
{
string mot1="abc";
string mot2="oooooabcooo";
int j=1;
while((j!=mot1.length())||(j!=0))
{
for(int i=0;i<=mot.length();i++)
{
if(mot1[i]==mot2[i])
{j++;}
else j=0;
}
}
if(j==mot1.length())
cout<<mot1<<" existe dans "<<mot2<<endl;
else
if(j=0)
cout<<"erreur";
return 0;
}
答案 0 :(得分:2)
这是您正在寻找的功能。
mot2.find(mot1); // also std::find
希望这有帮助。
答案 1 :(得分:0)
有一些开箱即用的工具,但是如果你寻找人工编码,我对你的代码一无所知。相反,我这样找到了:
#include <iostream>
#include <string>
using namespace std;
int find(string mot1,string mot2)
{
bool found;
for(int j=0;j<mot2.length()-mot1.length()+1;j++)
{
found=true;
cout<<"comparing "<<mot1.c_str()<<" and "<<(mot2.c_str()+j)<<endl;
for(int i=0;i<mot1.length();i++)
if(mot1[i]!=mot2[i+j])
{
found=false;
break;
}
if(found)
return j;
}
return -1;
}
int main()
{
string mot1="abc";
string mot2="oooooabcooo";
cout<<find(mot1,mot2)<<endl;
return 0;
}