以下代码是我的主要代码。我写了一个创建随机文件的方法。第一行是两个数字。第一个是行数,第二个是列数。然后我根据前2个值得到一个随机数的平方。这很好,我按照我想要的方式获取文件。我的问题是第一个if语句必须给我真实,因为我的输出是"没有文件可以使用。"所以根据我的猜测我的文件没有被看到。
我会弄清楚如何在修复后使用正确的数值制作数组,但我无法使其工作。我甚至尝试将grid1.txt更改为文件地址。是的,我是这里的新人,是的,我确实搜索了互联网,试图解决这个问题。我已经被困在我的问题上,就像2天一样。那么有人可以帮我弄清楚为什么我的文件没被这个程序看到了吗?
int row1 = 0;
int col1 = 0;
generateGridFile(row1, col1);
ifstream gridFile("grid1.txt");
gridFile.open("grid1.txt");
if (! gridFile)
{
cout << "There is no file to use.";
return 0;
}
while (!gridFile.eof())
{
int **a = new int *[row1];
for (int i = 0; i < row1; i++)
{
a[i] = new int[col1];
}
for (int i = 0; i < row1; i++)
{
for (int j = 0; j < col1; j++)
{
a[i][j] = 1; // gridFile >> a[i][j];
cout << a[i][j];
}
cout << "\n";
}
}
return 0;
答案 0 :(得分:0)
gridFile.open()
来电不是多余的。
According to this,当流已经打开时调用open()
(正如您通过调用非默认构造函数所做的那样)将失败,从而使您的代码步入条件。
只需删除该行; - )