【发布时间】:2014-06-04 02:04:43
【问题描述】:
我有一个代表地图/迷宫的二维数组,如下所示:
+-+-+-+-+-+
| |
+-+ +-+ + +
| | | |
+ +-+-+ + +
| | |
+-+ +-+-+-+
我有以下代码用于阅读该地图:
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) ,对我没用。
【问题讨论】:
-
您可能会发现
istream的成员get()很有帮助,尤其是在第二个 sn-p 中。或getline方法,甚至std::getline将行转储到当前行。 -
std::istream与operator>>一起使用默认会跳过输入中的空格。
标签: c++ arrays char multidimensional-array