c++ - 与C++中的多个字符进行比较

标签 c++ char

假设我有一个存储在 char c 中的输入,并且在条件中我需要检查它是否是两个不同字符中的任何一个,例如 'n''N'。很明显,我可以使用逻辑 OR 运算符来创建条件:

if(c == 'n' || c == 'N')
...

但是,如果条件明显多于两个,则需要使用明显更多的逻辑运算符,并且编写、查看和编辑都将变得乏味。有没有办法浓缩这个过程?让它看起来像这样:

if(c == '[N][n]')
...

这样的事情是否存在?

最佳答案

您可以将匹配字符组成一个字符串,然后查看字符串中是否存在相关字符:

char c;
std::string good_chars = "nNyYq";
if(good_chars.find(c) != std::string::npos) {
    std::cout << "it's good!";
}

关于c++ - 与C++中的多个字符进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49327648/

相关文章:

C - 使用 char 和 int 创建数据包

c - 用用户输入填充 *char[]

c++ - 将 cv::Mat 转换为 tesseract

c++ - QAbstractItemModel 与 QtQuick : Column is always 0 in the index

c++ - 有条件的 if 与 OR 检查所有条件

c++ - 无法理解此代码中使用的 for 循环

c - C语言中的普通字符

c++ - char* 和 char[] 数组错误

c++ - 为什么树向量化会使这种排序算法慢2倍?

c - gcc 警告赋值使指针来自整数而不进行强制转换