qt程序数据以txt文本写入文件夹时,如何不被覆盖
时间: 2024-05-16 18:17:53 浏览: 93
qt中建立文件夹并且在文件夹中建立txt文档
如果你希望新数据不覆盖之前写入的数据,你可以在每一次写入文件时都使用一个新的文件名。这个文件名可以包含时间戳或者其他唯一标识符,以确保每个文件都是唯一的。
下面是一个示例,演示如何使用当前日期和时间作为文件名来保存数据:
```cpp
#include <QDateTime>
#include <QFile>
#include <QTextStream>
void saveData(QString data) {
// 生成唯一的文件名
QString fileName = QDateTime::currentDateTime().toString("yyyy-MM-dd-hh-mm-ss") + ".txt";
// 打开文件并写入数据
QFile file("data/" + fileName);
if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream stream(&file);
stream << data;
file.close();
}
}
```
在这个例子中,我们使用了 `QDateTime::currentDateTime()` 函数来获取当前时间,并使用 `toString()` 将其转换为一个字符串。然后,我们将这个字符串作为文件名,并在其后添加一个 `.txt` 后缀。最后,我们使用 `QFile` 和 `QTextStream` 来打开文件并写入数据。
阅读全文