检查 CHAR 多维数组 CPP 中的值
checking values in a char multidimensional array, cpp
我正在尝试检查用户输入是否与字符多维数组中的特定值匹配。但我似乎想不出一种方法来做到这一点。用户输入将是 1-9 之间的数字。我将遍历我的数组以找到匹配的值。我的代码如下,
char input;
getline(cin,input);
char gameBoard[3][3] = {{'1','2','3'},
{'4','5','6'},
{'7','8','9'}
};
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
gameBoard[i][j]; //SOME CODE TO COMPARE THE VALUE TO USER INPUT
}
}
我尝试过使用 strcmp,但只能对一维数组执行此操作。
我也尝试通过 atoi 将 char 值转换为数字,但我收到错误,
error: invalid conversion from 'char' to 'const char*' [-fpermissive]|
任何关于如何比较的建议将不胜感激。谢谢
怎么样只是:
if (gameBoard[i][j] == input) {... }
strcmp
需要一个以零结尾的字符串,而不是一个字符。如果需要比较以零结尾的字符串str
是否为单字符c
,可以使用
(str[0] == c) && (str[1] == ' ')
在您的情况下
if ((input[0] == gameBoard[i][j]) && (input[1] == ' ')) { /* ... */ }
"\0"是字符串的零终止符。在str[1]
之前检查str[0]
很重要,因为str
可能是空的(即 str[0] == ' '
),并且当读取超过字符串的末尾(例如来自 str[1]
的值)时,您的程序可能会崩溃。
相关文章:
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 不同大小的向量数组的大小 cpp
- 如何循环访问 cpp 中的函数返回的字符指针数组
- 为什么我的 cpp 数组大小是 4 的倍数?
- 如何在 llvm 的 cpp api 中使用 CreateInBoundsGEP 来访问数组的元素?
- 如何使用 PHP-CPP 在 PHP 类中添加静态数组
- cpp 数组 - 分配常量索引有效,而非常量索引不起作用
- 将特定索引处的字符数组内容与字符文字 - cpp 进行比较
- 为什么当我在 CPP 的初始化中指定多维数组时,它必须有边界
- 通过矢量下标访问 Fortran 数组,相当于 cpp
- 如何在 CPP 中将 Typedef basic_string字符串转换为<char>字节数组
- 在 GRPC 中使用字节数组 (cpp)
- 如何使用 cpp 消除 2d 数组中的边框元素
- cpp 初始值设定项太多 - 数组中的结构中的结构
- 2D 数组在 CPP 中查找行的总和
- 具有不同构造函数参数的 CPP 对象数组
- CPP 中结构类型的指针的矢量数组
- 终端命令输出到 CPP 中的数组
- 不能打印cpp数组中的第一个元素