将带空格的二维数组读入char

时间:2014-04-19 17:23:47

标签: c++ arrays char multidimensional-array

我有一个代表地图/迷宫的二维数组,如下所示:

+-+-+-+-+-+
|         |
+-+ +-+ + +
|     | | |
+ +-+-+ + +
| |     |  
+-+ +-+-+-+

我有以下代码用于阅读该地图:

char mapa[hlimit][wlimit];
for(int j=0;j<hlimit;j++)
    cin>>mapa[j];

也尝试了这个:

char mapa[hlimit][wlimit];
for(int j=0;j<hlimit;j++)
    for(int k=0;k<wlimit;k++)
        cin>>mapa[j][k];

在我输入整个地图之前,for循环的两种方式都结束了。我尝试用点替换地图中的空格,输入完美无瑕。那么,我如何用空格做输入?我也尝试过cin.getline(mapa [j],wlimit),对我没用。

1 个答案:

答案 0 :(得分:0)

WhozCraig提供的答案建议使用get()完美无缺。这是我的代码:

char mapa[hlimit][wlimit];
for(int j=0;j<hlimit;j++)
{
    for(int k=0;k<wlimit;k++)
        mapa[j][k]=cin.get();
    cin.get();
}