如何检查字符串中的特定字符?

时间:2019-10-03 03:10:43

标签: c++ string indexing chess

免责声明:我一般对c ++和编程都是陌生的。

我有一个函数,该函数接受仅2个整数长的字符串参数。我想使用参数的第一个和第二个int索引到chessBoard [8] [8]中以选择板上的一个空间。 2D数组(板)中的每个索引(空格)都包含一个代表样片类型的字符。

该功能应该确定样片类型,然后调用特定样片的移动功能。

这是应用于国王的代码的一部分。

int movePiece(string startPos) {

string pieceType = chessBoard[startPos[0]][startPos[1]];

cout << chessBoard[startPos[0]][startPos[1]] <<endl;

if (tolower(pieceType) == 'k') {
    kingMove(startPos);
}

第5行是测试,以查看确切返回的内容。出于某种原因,它会打印一个“”(空格),这表示它正在将“”与“ k”或代表片断类型的任何其他字符进行比较。但是我可以放'cout >> chessBoard [0] [3]'并让它打印一个'k'(棋盘上那个空格上的棋子)。还会为板上的任何空间返回一个空间,而不仅仅是[0] [3]。

'startPos'是一个字符串,因此我应该能够将startPos [0]和startPos [1]与stringstream一起使用来访问整数,对吗?我在做什么错了?

0 个答案:

没有答案