CPP如何实现判断变量a是否输入['1', '2', '3']其中之一,如果不是的话就改成'1'
时间: 2024-09-11 08:13:45 浏览: 24
在 C++ 中,你可以使用条件语句(如 if-else 或 switch)结合字符串比较来实现这样的功能。这里提供一种方法,使用 `std::string::find` 函数检查输入是否匹配指定的字符串列表,并用 `std::string::assign` 或 `std::replace` 对不符合的值进行修改。
```cpp
#include <iostream>
#include <string>
bool isInList(const std::string &input, const std::vector<std::string> &list) {
for (const auto &item : list) {
if (input == item) {
return true;
}
}
return false;
}
void convertIfNotMatch(std::string &a, const std::vector<std::string> &accepted_values) {
if (!isInList(a, accepted_values)) {
a = "1"; // 如果 a 不在 accepted_values 列表中,将其替换为 "1"
}
}
int main() {
std::vector<std::string> accepted_values = {"1", "2", "3"};
std::string a = "4"; // 示例输入
convertIfNotMatch(a, accepted_values);
std::cout << "After modification: " << a << std::endl;
return 0;
}
```
在这个例子中,如果变量 `a` 不在 `accepted_values` 中,它会被更新为 `"1"`。
阅读全文