我发现了一种将任何ASCII文件转换为字符串的简单方法,无论其大小如何,但这对我没有多大帮助,因为我需要在动态分配的2D数组中使用它?我想稍后将哪些属性转换为Graph属性来解决迷宫问题。从我的字符串中获取动态分配的2D数组的最佳方法是什么? - 如果我的方法不是带有迷宫的ASCII文本文件的最佳方法之一?我希望能够将2d数组中的空白空间转换为顶点,并将它们连接到我将有一个起点和终点顶点的边。
std::ifstream in("d:\\mazes\\mymaze.txt");
std::string s((std::istreambuf_iterator<char>(in)),
std::istreambuf_iterator<char>());
cout << s;
答案 0 :(得分:0)
这应该工作:
int rows = 4;//When you change these the array will change size
int cols = 4;
// declaration
int ** a;
// allocate
a = new int*[rows];
for(int i = 0; i < rows; i++)
a[i] = new int[cols];
// set the values
for(int j = 0; j < rows; j++)
for(int i = 0; i < rows; i++)
a[i][j] = 0;
// destruct
for(int i = 0; i < rows; i++)
delete a[i];
delete a[];