显示 txt 文件详细信息

Showing txt file details

我有一个包含以下内容的 .txt 文件:

good  
bad  
hi 

我希望“下一步”按钮循环显示这些词,但使用我的代码我只能得到词 "good"。当我单击下一步时,它不显示下一个词。这是我的代码 Qt 5.4.

void MainWindow::on_Next_clicked()
{
    ui->ShowEn->clear();
    ifstream Sfile("E:\en.txt");
    getData(Sfile);
    Sfile.close();
}

void MainWindow::getData(std::ifstream& myfile)
{

    if(!myfile.eof())
    {
        std::string str;
        getline(myfile, str);
        ui->ShowEn->setText(QString::fromStdString(str));
    }
}

每次执行此方法时:

void MainWindow::on_Next_clicked()
{
    ui->ShowEn->clear();
    ifstream Sfile("E:\en.txt");
    getData(Sfile);
   Sfile.close();
}

文件被重新打开并用getData读取第一位。然后关闭该文件。每次打开文件时,都会从头开始读取,这就是为什么每次都会看到相同的字符串。

您可能想在其他地方打开您的文件(也许是 window 的构造函数?),然后在每次单击按钮时简单地阅读它。这将需要 MainWindow 中的成员变量来保存打开的文件。完成之前不要关闭它。