qt txt循环写入
时间: 2024-12-29 21:31:21 浏览: 12
Qt是一个跨平台的应用程序开发框架,而txt文件是一种文本文件格式。在Qt中,如果你想循环地往txt文件中写入数据,你可以使用`QFile`和`QTextStream`类。下面是一个简单的示例:
```cpp
#include <QObject>
#include <QString>
#include <QFile>
#include <QTextStream>
class MyObject : public QObject {
Q_OBJECT
public:
explicit MyObject(QObject *parent = nullptr) : QObject(parent) {}
private slots:
void writeToTxt() {
QFile file("example.txt", Qt::WriteOnly | Qt::Truncate); // 使用追加模式或创建新文件
if (!file.open(QIODevice::ReadWrite)) {
qWarning() << "Failed to open file for writing";
return;
}
QTextStream out(&file);
int index = 0;
while (true) { // 循环写入直到指定条件改变
QString line = "Line " + QString::number(index++);
out << line << "\n"; // 每次写入一行
if (index > 10) break; // 示例中,当达到10行就停止写入
}
file.close();
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MyObject obj;
QTimer::singleShot(0, &obj, SLOT(writeToTxt())); // 立即开始写入
return app.exec();
}
```
在这个例子中,我们创建了一个定时任务`writeToTxt`,它会每运行一次就往txt文件中追加一条新的行,直到达到预设的行数(这里是10行)。每次循环前会先检查文件是否打开成功。
阅读全文