最近在导出设备运行日志时,为避免每次导出的日志文件名相同,需要把最新日志文件加上当前时间保存。实现方式非常简单:
QString fileName = "/dev/shm/XXX.log";
QFile file(fileName);
QFileInfo fileInfo(fileName);
QString dstPath = "/mnt/udisk/";
dstPath += fileInfo.fileName();
QString ctrlCurTime = “09:40:30”;
QString dstFileName = ctrlCurTime + QString("_") + fileInfo.fileName();
dstFileName =QString("/mnt/udisk/")+dstFileName;
bool renameOK = QFile::rename(QString(dstPath),QString(dstFileName));
上面这段代码执行完后总是failed,另存为不成功,本人总是纠结在找代码里面的原因,后来直接用命令行另存为的时候发现系统不识别“09:40:30-XXX.log”这种文件命名格式,后来把时间中的‘:’改成‘-’或者‘_’就OK。