我有一个2d数组,它表示一个地图/迷宫,如下所示:
+-+-+-+-+-+
| |
+-+ +-+ + +
| | | |
+ +-+-+ + +
| | |
+-+ +-+-+-+
我有以下代码来阅读地图:
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),但对我不起作用。
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();
}