C++ C++;加载文件

C++ C++;加载文件,c++,maze,file-io,C++,Maze,File Io,我正在尝试读取一个包含12x12 ASCII迷宫的文本文件。然而,我在屏幕上看到的只是一个12x12的星号网格 我在上学期编写的CLI扫雷游戏中使用了类似的代码,效果很好。我不确定我做了什么使它不起作用 代码: 输出: 00* 01* 02* 03* 04* 05* 06* 07* 08* 09* 010* 011* 10* 11* 12* 13* 14* 15* 16* 17* 18* 19* 110* 111* 20* 21* 22* 23* 24* 25* 26* 27* 28* 29*

我正在尝试读取一个包含12x12 ASCII迷宫的文本文件。然而,我在屏幕上看到的只是一个12x12的星号网格

我在上学期编写的CLI扫雷游戏中使用了类似的代码,效果很好。我不确定我做了什么使它不起作用

代码:

输出:

00* 01* 02* 03* 04* 05* 06* 07* 08* 09* 010* 011*
10* 11* 12* 13* 14* 15* 16* 17* 18* 19* 110* 111*
20* 21* 22* 23* 24* 25* 26* 27* 28* 29* 210* 211*
30* 31* 32* 33* 34* 35* 36* 37* 38* 39* 310* 311*
40* 41* 42* 43* 44* 45* 46* 47* 48* 49* 410* 411*
50* 51* 52* 53* 54* 55* 56* 57* 58* 59* 510* 511*
60* 61* 62* 63* 64* 65* 66* 67* 68* 69* 610* 611*
70* 71* 72* 73* 74* 75* 76* 77* 78* 79* 710* 711*
80* 81* 82* 83* 84* 85* 86* 87* 88* 89* 810* 811*
90* 91* 92* 93* 94* 95* 96* 97* 98* 99* 910* 911*
100* 101* 102* 103* 104* 105* 106* 107* 108* 109* 1010* 1011*
110* 111* 112* 113* 114* 115* 116* 117* 118* 119* 1110* 1111*

>
运算符忽略空格字符,这就是为什么它跳过空格并始终使用asterix。改用
std::istream.get()

您的代码“跳过”任何空白。你可以做
cin>>noskipws>>isWall-或者您可以使用不同的字符来显示“非墙”,例如
'.
'-'
.

如果上面的墙不全是星号会发生什么?啊,我想这与空白有关,但不确定如何避免这个问题。我不允许更改用于定义开放式走廊或墙的字符。noskipws是一个很好的简单修复方法。
************
*   *      *
  * * **** *
 ** *    * *
     *** *  
 * * * * * *
   * * * * *
 * * * * * *
         * *
 ***** *** *
*      *   *
 ***********
00* 01* 02* 03* 04* 05* 06* 07* 08* 09* 010* 011*
10* 11* 12* 13* 14* 15* 16* 17* 18* 19* 110* 111*
20* 21* 22* 23* 24* 25* 26* 27* 28* 29* 210* 211*
30* 31* 32* 33* 34* 35* 36* 37* 38* 39* 310* 311*
40* 41* 42* 43* 44* 45* 46* 47* 48* 49* 410* 411*
50* 51* 52* 53* 54* 55* 56* 57* 58* 59* 510* 511*
60* 61* 62* 63* 64* 65* 66* 67* 68* 69* 610* 611*
70* 71* 72* 73* 74* 75* 76* 77* 78* 79* 710* 711*
80* 81* 82* 83* 84* 85* 86* 87* 88* 89* 810* 811*
90* 91* 92* 93* 94* 95* 96* 97* 98* 99* 910* 911*
100* 101* 102* 103* 104* 105* 106* 107* 108* 109* 1010* 1011*
110* 111* 112* 113* 114* 115* 116* 117* 118* 119* 1110* 1111*