当前位置: 首页 > news >正文

【qt】每日删除文件

QSet<QDate>cleanupDates;// 记录已执行清理的日期voidsaveLog(constQString&logMsg){QDateTime currentDateTime=QDateTime::currentDateTime();QString dateString=currentDateTime.toString("yyyy-MM-dd hh:mm:ss:zzz");// 按日期分文件存储,方便管理QString datePrefix=currentDateTime.toString("yyyyMMdd");QString logFileName=QString(u8"%1/光管日志%2_%3.txt").arg(QCoreApplication::applicationDirPath()).arg(m_XrayComPort).arg(datePrefix);// 检查今天是否已执行清理QDate today=QDate::currentDate();if(!cleanupDates.contains(today)){cleanupOldLogFiles(3);// 清理3天前的日志文件cleanupDates.insert(today);// 清理过期的清理记录(保留最近30天的记录)QDate cutoff=today.addDays(-30);QSet<QDate>newSet;for(constQDate&date:cleanupDates){if(date>=cutoff){newSet.insert(date);}}cleanupDates=newSet;}QFilefile(logFileName);if(file.open(QIODevice::Append|QIODevice::Text)){QTextStreamout(&file);out.setCodec("UTF-8");QString XrayMsg=QString("%1 %2\n").arg(dateString).arg(logMsg);out<<XrayMsg;file.close();}}// 按日期文件清理voidcleanupOldLogFiles(intkeepDays){QString logDir=QCoreApplication::applicationDirPath();QDirdirectory(logDir);// 查找所有光管日志文件QString filter=QString("光管日志%1_*.txt").arg(m_XrayComPort);QStringList logFiles=directory.entryList(QStringList()<<filter,QDir::Files);QDateTime cutoffDate=QDateTime::currentDateTime().addDays(-keepDays);for(constQString&fileName:logFiles){QString filePath=directory.filePath(fileName);QFileInfofileInfo(filePath);// 根据最后修改时间删除if(fileInfo.lastModified()<cutoffDate){QFile::remove(filePath);}}}
http://www.cnnetsun.cn/news/136896.html

相关文章:

  • electron-egg打包win7
  • 8种网络故障分析及测试命令大全
  • 新人必看盘点知名CTF练习靶场,从零基础入门到精通,收藏这一篇就够了!
  • Pythonselenium自动化测试实战项目
  • 关于Comtos Linux (朱雀)主体源码的选择
  • 超级Mini小车功能说明
  • STC32G12单片机替换成STC32F12单片机,直接替换的结果
  • SIEMENS 6SL3210-1PE33-0CL0 变频器
  • 软件测试常用的7种方法,最后一个是升职加薪关键!(零基础小白转行IT互联网高效进阶)
  • 【RTOS】EasyLog的移植与使用
  • 在数据库里玩“平行宇宙”:MatrixOne Data Branch 让数据也拥有Git 的分支/合并/对比/回滚(含跨集群同步)
  • 基于单片机的全自动洗衣机系统的设计
  • 5.6 模型部署与智能体集成实战
  • 基于单片机的球赛计分牌的设计
  • ArcGIS Pro 从入门到实战基础篇(10):地图菜单
  • Kotaemon与Redis/Memcached集成:构建高速缓存层
  • 【鸿蒙三方库编译】lycium_plusplus(lycium++)高效完成鸿蒙C/C++编译
  • 2025年度GEO服务商权威甄选指南:技术深度与商业价值的双重考量
  • 收藏备用!Java程序员转AI大模型:从技术沉淀到AI爆发的进阶之路
  • Python 爬虫实战:Session 会话维持爬取需登录内容
  • 基于移相全桥变换器的电池充电仿真模型,采用电压电流双闭环PI控制。 电池先经历CC模式而后进入...
  • 基于COMSOL模拟的水力压裂技术研究:固体力学与达西定理的应用
  • Redis 性能调优(二)
  • Doris 性能调优实践指南(可直接落地)
  • presum|二分try+滑窗cnt
  • Web自动化测试:Unittest单元测试框架
  • Apache2最佳实践
  • 实力派,也可以是偶像派
  • 基于单片机的多功能万年历
  • AI搜索时代:技术演进、产业分化与深度变革