如何将数据从外部文件保存到2D阵列中? (C ++)

时间:2019-04-06 01:49:01

标签: c++ multidimensional-array fstream ifstream

我正在用C ++开发一个简单的控制台游戏,我希望能够从.txt文件中读取地图并将其另存为2D数组。我相信使用fstream这样的事情是可能的。
我也不确定是否可以根据外部文件中的地图大小来创建2D数组的大小。

我正在尝试使其像这样工作:


我正在从中获取地图的.txt文件:

11111
10001
10001
10001
11111


实际的2D数组:

char map[][] = { {1,1,1,1,1},
                 {1,0,0,0,1},
                 {1,0,0,0,1},
                 {1,0,0,0,1},
                 {1,1,1,1,1} }


关于C ++,我还是个新手,所以我还不太了解。这是我第一次从外部文件读取内容,因此不要指望我太多:)

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

首先,在您的项目中添加输入文件(例如input.in,input.txt)。 启动新的流以从该文件读取数据。 逐行读取数字,并将数字放入矩阵中。

#include <fstream>
using namespace std;

ifstream f(“input.in”);//declare the stream

int matrix[num_of_rows][num_of_columns];

void read(){
for(int i=0;i<num_of_rows;i++)
for(int j=0;j<num_of_columns;j++)
f>>matrix[i][j];}