如何将外部文件中的数据保存到二维数组中? (C++)
How can I save data from an external file into a 2D array? (C++)
我正在用 C++ 制作一个简单的控制台游戏,我希望能够从 .txt 文件中读取地图并将其保存为二维数组。我相信使用 fstream 可以实现类似的功能。
我也不确定是否可以根据来自外部文件的地图的大小来创建二维数组的大小。
我正在尝试让它像这样工作:
我从中获取地图的 .txt 文件:
11111
10001
10001
10001
11111
实际的二维数组:
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++ 方面,我有点新手,所以我还不太了解所有内容。这是我第一次从外部文件中读取内容,所以不要对我抱太大期望:)
感谢任何帮助!
首先,在您的项目中添加输入文件(例如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];}
我正在用 C++ 制作一个简单的控制台游戏,我希望能够从 .txt 文件中读取地图并将其保存为二维数组。我相信使用 fstream 可以实现类似的功能。
我也不确定是否可以根据来自外部文件的地图的大小来创建二维数组的大小。
我正在尝试让它像这样工作:
我从中获取地图的 .txt 文件:
11111
10001
10001
10001
11111
实际的二维数组:
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++ 方面,我有点新手,所以我还不太了解所有内容。这是我第一次从外部文件中读取内容,所以不要对我抱太大期望:)
感谢任何帮助!
首先,在您的项目中添加输入文件(例如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];}