我正在尝试为一个赋值程序创建一个程序,该程序将在字符串 vector 中添加和删除字符串,但首先我需要创建一个函数来查找该字符串是否已存在于 vector 中。
我已经尝试使用循环来搜索 vector 以在每个索引处找到特定的所需字符串。我尝试添加 break;
以在找到字符串时退出。我不知道函数应该是 void 还是 boolean。
bool FindString(int vctrSize, vector<string> restaurantVctr, string targetRestnt) {
int i;
for (i = 0; i < vctrSize; ++i) {
if (restaurantVctr.at(i) == targetRestnt) {
return true;
break;
}
else {
return false;
}
}
}
如果找到字符串,我希望输出为真,否则显然为假。
编辑:我忘了说我也收到警告:“并非所有控制路径都返回一个值”
最佳答案
您应该尽可能使用标准算法:
auto result = std::find(restaurantVctr.begin(), restaurantVctr.end(), targetRestnt);
return result != restaurantVctr.end();
这正是std::find
是为了。
关于c++ - 如何在字符串 vector 中找到某个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58736449/