Я в тупике. Похоже, мой файл не читается правильно, но я не уверен, что моя проблема - PullRequest
0 голосов
/ 07 мая 2018

Код ниже мой основной. Я написал метод для создания случайного файла. Первая строка - два числа. Номер один - количество строк, номер 2 - количество столбцов. Затем я получаю квадрат случайных чисел на основе первых двух значений. Это прекрасно работает, я получаю файлы так, как я хочу. Моя проблема - первая, если утверждение должно давать мне истину, так как мой вывод «Нет файла для использования». так что в соответствии с этим я предполагаю, что мой файл не виден.

Я выясню, как сделать массив с правильными значениями после того, как это будет исправлено, но я не могу заставить его работать. Я даже попытался изменить 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;

1 Ответ

0 голосов
/ 07 мая 2018

Вызов gridFile.open() не лишний.

В соответствии с этим вызов open(), когда поток уже открыт (как вы это сделали, вызвав конструктор не по умолчанию), завершится неудачей, что сделает ваш шаг кода в условие.

Просто удалите строку; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...