Qt写入读取txt文本文件 用fstream
时间: 2024-08-15 17:08:59 浏览: 56
在Qt中,你可以使用标准库中的fstream(File Stream)模块来操作文本文件,包括读取(ifstream)和写入(ofstream)。下面是一个基本的例子展示了如何打开、读取和写入txt文件:
```cpp
#include <QCoreApplication>
#include <QFile>
#include <QDebug>
#include <fstream>
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
// 写入txt文件
QFile writeFile("write.txt");
if (!writeFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
qDebug() << "Failed to open file for writing";
return -1;
}
QTextStream out(&writeFile);
out << "Hello, this is a sample text.\n";
if (out.device()->isSequential()) {
out.flush(); // 确保数据立即写入磁盘
}
writeFile.close();
// 读取txt文件
QFile readFile("write.txt", QIODevice::ReadOnly | QIODevice::Text);
if (!readFile.open()) {
qDebug() << "Failed to open file for reading";
return -1;
}
QTextStream in(&readFile);
QString content = in.readAll();
qDebug() << "Read content:\n" << content;
readFile.close();
return app.exec();
}
```
在这个例子中,`open()`函数用于打开文件,`QIODevice::WriteOnly`表示写入模式,`QIODevice::Text`指定处理文本文件。读取时使用`QIODevice::ReadOnly`。
注意:使用完文件后务必关闭它,以释放资源。此外,`flush()`用于确保所有缓冲的数据立即写入文件,避免丢失数据。
阅读全文