Как я могу исправить этот iFile для вывода .txt в мою консоль? - PullRequest
0 голосов
/ 20 февраля 2020

Это функция, которую я сделал в C ++ для чтения данных учетной записи из .txt файлов , но моя программа закрывается, когда я ее открываю.

static void ReadData() {
    string *line[21];
    ifstream myfile2("Userinfo1.txt");
    for (int i = 0; i < 21; i++)
    {
        if (myfile2.is_open())
        {
            while (getline(myfile2, *line[i]))
            {
                cout << *line << '\n';
            }
        }
    }
    myfile2.close();
    ifstream myfile("Userinfo2.txt");
    for (int i = 0; i < 21; i++)
    {
        if (myfile.is_open())
        {
            while (getline(myfile, *line[i]))
            {
                cout << *line << '\n';
            }
        }
    }
    myfile.close();
}

Заранее спасибо за любую помощь!

1 Ответ

0 голосов
/ 21 февраля 2020

Я полагаю, что вы пытаетесь прочитать 21 строку файла и распечатать его. Поэтому я быстро навязываю ваш код. Во-первых, нет необходимости создавать массив строк. Если вы хотите сохранить эти строки, вы можете использовать std::vector<std::string>. Тогда вы не должны проверять, что файл открыт каждый раз. И, наконец, если вы хотите прочитать все строки из файла, вам просто нужно проверить конец файла. Надеюсь, я смогу вам помочь.

std::string line;
ifstream myfile2("Userinfo1.txt");
if (myfile2.is_open()) {
    while (!myfile2.eof())
    {
        getline(myfile2, line);
        cout << line << '\n';
    }
}
myfile2.close();
...