显示 txt 文件详细信息

Showing txt file details

本文关键字:详细信息 文件 txt 显示      更新时间:2023-10-16

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

good  
bad  
hi 

我希望"下一步"按钮循环浏览这些单词,但使用我的代码,我只得到"好"一词。当我单击"下一步"时,它不会显示下一个单词。这是我的代码与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读取。然后关闭该文件。每次打开文件时,都会从头开始读取,这就是为什么您每次都看到相同的字符串。

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