【发布时间】:2012-09-07 15:19:44
【问题描述】:
我有一个程序可以从 txt 文件中读取行数和列数。此外,程序必须从同一文件中读取二维数组的内容。
这是txt文件
8 20
*
*
***
***
8 和 20 分别是行数和列数。空格和星号是数组的内容,Array[8][20] 例如Array[0][1] = '*'
我确实使程序读取 8 和 20 如下:
ifstream myFile;
myFile.open("life.txt");
if(!myFile) {
cout << endl << "Failed to open file";
return 1;
}
myFile >> rows >> cols;
myFile.close();
grid = new char*[rows];
for (int i = 0; i < rows; i++) {
grid[i] = new char[cols];
}
现在,如何将空格和星号分配给数组中的字段?
我做了以下,但是没有用
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
while ( myFile >> ch )
{
grid[i][j] = ch;
}
}
}
希望你明白了。
【问题讨论】:
-
为什么在读取行和列后关闭文件?
-
如果您将文件中的空格替换为点,会更容易。
-
在关闭文件之前读取空格和星号
-
你为什么不接受你的问题?
-
请不要转发您完全相同的问题。