利用QTextStream写文本到以日期命名的文件。
主要代码如下:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDateTime>
#include <QDir>
#include <QFile>
#include <QTextStream>
#include <QTimer>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
p_time = new QTimer();
connect(p_time,SIGNAL(timeout()),this, SLOT(WriteText()));
p_time->start(1000);
}
MainWindow::~MainWindow()
{
delete ui;
delete p_time;
}
void MainWindow::WriteText()
{
QString current_time = QDateTime::currentDateTime().toString("yyyy-MM-dd");
QString file_path = QCoreApplication::applicationDirPath() + "/data/";
QDir dir;
if( !dir.exists(file_path) ) //文件夹不存在即创建
{
dir.mkdir(file_path);
}
QFile file(file_path + current_time + ".data.log");
if( !file.exists() )
{
file.open(QIODevice::WriteOnly);
file.close();
}
if (!file.open(QIODevice::WriteOnly | QIODevice::Append))
{
return;
}
QTextStream stream(&file);
QString strHeader = QDateTime::currentDateTime().toString("yyyyMMdd hh:mm:ss ");
QString str = "hahahahahahahahahahaha";
stream << strHeader + str << endl;
}