通过读取每个字符来显示txt文件中的游戏板[关闭]

问题描述 投票:-1回答:1

我想展示的是

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];
       }
}

这个表必须存储在字符数组中。虽然当我显示表格的时候,最后一行并没有完全显示出来。

为什么这个表不能正确的显示出来呢?

c++ ifstream
1个回答
0
投票

你可能是想把换行字符存储在 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;
}
© www.soinside.com 2019 - 2024. All rights reserved.