首页 > 技术知识 > 正文

csv文件的实质就是在每行的各项数据之间添加逗号分隔符 ,,所有我们直接使用 QFile 和 QTextStream 去实现读写。 代码如下所示:

/*********点表数据插入文件**********/ void PointsValue::insertPointDatabase() { std::lock_guard<std::mutex> lk(lockMutex); // qDebug()<<“totalonfodata===num===”<< totalInfoData.size(); QMap<uint32_t,InfoData > ::iterator iter=totalInfoData.begin(); QDir dir(POINTDATAPATH); if (dir.exists()==false) { TRACE_IF(“不存在\n”); QDir().mkdir(POINTDATAPATH); } QString timestr = QDate::currentDate().toString(“yyyyMMdd”); QString pathstr = QString::fromStdString(POINTDATAPATH)+”elephant_”+timestr+”.csv”; QFile data(pathstr); if (data.open(QFile::WriteOnly | QIODevice::Append)) { QTextStream out(&data); out << QDateTime::currentDateTime().toString(“yyyy年MM月dd日 hh时mm分ss秒”); out << “\n”; while(iter!=totalInfoData.end()) { out << QString::fromUtf8(iter.value().infoname); out <<“,”; out << iter.value().info_address; out <<“,”; out << iter.value().info_rate; out <<“,”; out << iter.value().info_value; out <<“,”; out << iter.value().isactivepower; out << “\n”; ++iter; } } data.close(); }
<

如上所示,按照每日的文件来创建,可以将数据全部存入

猜你喜欢