qt写入文件每次覆盖原文件
时间: 2024-10-10 17:02:14 浏览: 152
在Qt中,如果你想要每次写入文件都替换原有的内容而不是追加,你可以使用`QFile::write()`或者`QTextStream`的`setCodec()`和`write()`方法。下面是一个简单的例子:
```cpp
#include <QObject>
#include <QFile>
#include <QDebug>
class MyClass : public QObject
{
Q_OBJECT
public slots:
void writeToFile(const QString& data)
{
QFile file("your_file.txt");
if (!file.open(QIODevice::WriteOnly)) {
qDebug() << "Failed to open file for writing.";
return;
}
QTextStream out(&file);
out.setCodec("UTF-8"); // 设置编码,确保数据能正确写入
out << data; // 这会清除并覆盖原有内容
file.close();
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyClass myClass;
myClass.writeToFile("这是新的内容");
return app.exec();
}
```
在这个示例中,`writeToFile`方法打开文件,设置文本流为写入模式,并清空文件的内容后再写入新的数据。
阅读全文
相关推荐


















