尝试打开并读取 .txt 文件,但它从原始文件中删除了实际文本(Qt GUI C++

Posted

技术标签:

【中文标题】尝试打开并读取 .txt 文件,但它从原始文件中删除了实际文本(Qt GUI C++【英文标题】:Trying to open and read a .txt file, but it deletes the actual text from the original file (Qt GUI C++ 【发布时间】:2019-11-11 18:10:31 【问题描述】:

我正在尝试打开并读取一个 .txt 文件,然后在标签中显示其中的一行,但该行未显示,但所有内容均已从原始选定文件中删除。有什么想法吗?


    QString filename = QFileDialog::getOpenFileName(this,
                                                    tr("Open File"),
                                                    "/Users/kat/Documents/Programming 2/Assignment/Quizzes",
                                                    "All Files (*.*);;Text File (*.txt)");
    QFile file(filename);

    if(!file.open(QFile::WriteOnly | QFile::Text))
    
        QMessageBox::warning(this, tr("File Not Open"),"File Cannot Be Opened");
    

    QTextStream in(&file);
    QRegularExpression re("Name: ");
    QString title = in.readLine();
    title.remove(re);
    ui->label_4->setText(title);
    file.flush();
    file.close();```

【问题讨论】:

如果你想阅读,请不要以WriteOnly打开它。 【参考方案1】:

您已打开文件进行写入而不是读取if(!file.open(QFile::WriteOnly | QFile::Text))。如果你需要读取一个文件,你不应该这样做file.flush()

【讨论】:

谢谢。我将其更改为 ReadOnly,现在它可以完美运行了!

以上是关于尝试打开并读取 .txt 文件,但它从原始文件中删除了实际文本(Qt GUI C++的主要内容,如果未能解决你的问题,请参考以下文章

在 IOS 项目中放置 .txt 文件并从中读取的位置

使用C读取并保存txt文件的每个单词?

如何打开相对于执行 Lua 文件的 txt 文件?

从文本文件填充数据集

从 txt 文件中读取数据并将其添加到 Observable 集合中

从文本文件中读取元组