bool isLangle(string);
int main()
{
string urstr;
cout <<"enter any str "<<endl;
cin>>urstr;
cout<<isLangle(urstr)<<endl;
return 0;
}
bool isLangle(string str){
for (int i=0; i<str.length(); i++)
{
if (str[i] == '<')
return true;
else
return false;
}
}
/ *我正在迭代一个html行,但该函数只检查第一个char并返回。我希望当我输入&#34;白银&lt;&#34;或任何其他包含左角括号的字符串
* /
答案 0 :(得分:4)
将return false;
移到循环之外:
bool isLangle(string str) {
for (int i=0; i<str.length(); i++)
{
if (str[i] == '<')
return true;
}
return false;
}
您也可以查看标准的string::find
函数:
bool isLangle(string str) { // or, better, const string&, see @Cyber's answer
size_t pos = str.find('<');
return (pos != string::npos);
}
答案 1 :(得分:3)
您可以使用string::find
搜索该字符。如果未找到,则会返回string::npos
bool isLangle(std::string const& str)
{
std::size_t found = str.find("<");
return found != std::string::npos;
}