在c++中查找函数
Find function in c++
我正在尝试在字符串中查找chara或char1如果没有找到,我的程序将出现错误消息并退出。这是我的职能,但似乎不起作用。请帮帮我,谢谢。
*更新,如果字符串是a2,我将得到无效消息,只有当字符串是a1时,它才会继续。
bool hasAor1(const std::string& string)
{
return string.find_first_of("a1") != std::string::npos;
}
//find valid key, key must have numbers like 1234 instead of 134
void validstring(string key)
{
if(key.length() == 2)
{
hasAor1(key) == false;
cerr << "invalid key";
}
}
std::find在这里使用会简单得多。
auto iter = find_if(begin(key), end(key),
[](char v){ return v=='a' || v=='1'; });
if (iter == key.end()) cerr << "invalid key";
函数hasAor1正常。
将带有"hasAor1(key)==false;"的行改为类似的行
如果(!hasAor1(key))cerr<lt;"无效密钥";
所以
//find valid key, key must have numbers like 1234 instead of 134
void validstring(string key)
{
if(key.length() == 2)
{
if (hasAor1(key) == false)
cerr << "invalid key";
}
}
目前还不清楚validstring应该做什么。如果密钥长度不是2,该怎么办?这不应该是在回击嘘声什么的吗?目前,它所要做的只是打印一条消息,但前提是密钥长度为2。如果密钥是"543"、"145"或"1a3",您希望发生什么?
代码中的注释"//找到有效密钥,密钥必须有1234而不是134这样的数字"没有意义,因为所有有效密钥的示例都包含字符"1",hasAor1会将其标记为无效。
您可能需要考虑可能的输入变化,以及您希望每个变化发生什么。
相关文章:
- 使用.find函数在c++中查找字符和另一个字符之间的大小
- 一个函数,用于查找字符串1包含字符串2 c++的次数
- 用于在 C++ 中使用 while 循环查找下一个素数的简单函数
- C++ 函数,用于查找传入的 N 个数字的平均值、总和、最小值和最大值
- 使用用户定义的函数查找数字的幂时出现问题
- 如何处理具有不同类的成员函数的函数查找表?
- 如果我们没有在 C++ 中传递大小变量,则通过函数查找数组的大小
- 使用用户定义的函数查找完美数时出现浮点异常错误
- 使用 lambda 函数查找 std::unordered_map 中的最小值
- 重载函数查找轮廓的实例与参数列表不匹配
- 使用C++中的割线函数查找根
- JNA 程序函数查找失败
- 通过 C 加加号中的函数查找中位数
- 试图通过函数查找数组的最大值和最小值,其中数组值由用户输入
- xlC模板函数问题的静态函数查找
- 使用线程函数查找 2D 数组中的最大条目
- 如何在cpp中使用std::regex_replace()函数查找和替换
- 数组函数查找最大值
- 使用' stdio.h '函数查找模板和名称
- CPP字符串构造函数查找并附加空字符