通过读取每个字符从 txt 文件显示游戏板

Displaying a Game-board from a txt file by reading in each char

我正在尝试显示

X  XXXXXXX  XXXXX   XXXXXXXXXXXXX   XXXX
X XXXXXXXX   XXXXXXXXXXXXXXXXXXXXX   XXX
XXXXXXXXXXXXXXXXXXXXX      XXXXXXXXXXXXX
XXXF        -----      XX           XXXX
XXXXXXXXXX  XXXXXX  XXXXX          FXXXX
XXXXXXXXXX  XXXXXX  XXX XXXX  XXXX--XXXX
XXXXXXXX    XXXXXX  XXXXXXXX   XXX--XXXX
XXXXXXX  XXXXXXX    XXXXXXXXX       XXXX
XXXXXX  XXXXXXXX  XXXXX XXXXX     --XXXX
       XXX   XXX  XX XX XXXXXXXXXX--XXXX
       XXX  XXXX  XXXXXXXXXXXXXXXX--XXXX
XXXXXXXXXX XXXXX  XX-          XXX--XXXX
XXX  XXXXXXXXXXX  XX----XXXX      --XXXX
XXXX XXXXXF           XXXXXX     XX$XXXX
XXXXXXXXXXX          XXXXXXXXXXXXXXXXXXX

我正在使用,其中 ROWS = 15 和 COLS = 40

for (int row = 0; row < ROWS; row++)
{
       for (int col = 0; col < COLS; col++)
       {
            board[row][col] = inFile.get();
            cout << board[row][col];
       }
}

这个table存储在字符数组中是必不可少的。虽然当我显示 table 最后一行没有完全显示。

为什么 table 输出不正确?

您可能试图将换行符存储在 board 数组中。您需要在每个内部循环之后添加一个额外的 .get() 以获取换行符,这样它就不会被拉入您的数组:

for (int row = 0; row < ROWS; row++)
{
     for (int col = 0; col < COLS; col++)
     {
          board[row][col] = inFile.get();
          cout << board[row][col];
     }
     // Pull out the newline
     inFile.get();
     cout << std::endl;
}