尝试打开并读取 .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++的主要内容,如果未能解决你的问题,请参考以下文章