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);}}}【qt】每日删除文件
张小明
前端开发工程师
Java经典设计模式可以解决 99% 的 业务场景
一、单例模式(Singleton Pattern) 模式定义:确保一个类只有一个实例,并提供全局访问点。 适用场景: 全局唯一的资源管理(如线程池、缓存、日志对象)。 需要节省内存资源的场景(仅创建一个实例)。 实现方式:枚举单例(线程安全、抗反射攻击) /** * 枚举单例(推荐…
用sklearn库实现URL恶意性检测特征提取与分类
DL00488-URL恶意性检测特征提取sklearn库的机器学习模型进行分类 URL异常检测本质上是一个分类问题,将输入的URL经过处理后得到特征,输入到分类其中,分类器输出分类结果,恶意的还是良性的。 在训练集和验证集的基础上训练了多个分…
多项式曲线拟合:从原理到C代码实现
多项式曲线拟合,c代码,可实现1阶线性,2-4阶多项式曲线拟合,代码注释详细,方便移植,书写规范 图片有现场拟合参数的1-4阶的keil仿真结果和Excel对照图。 备注一下,这是个多项式求解代码ÿ…
探索微电网分层下垂控制:基于事件触发与Matlab仿真的奇妙之旅
事件触发,微电网分层下垂控制!有应用图中文献算法的matlab仿真模型在如今追求可持续能源的时代,微电网成为了电力领域的热门话题。而其中的分层下垂控制技术,更是微电网稳定运行的关键一环。今天咱们就来唠唠基于事件触发的微电网…
探索柔性钙钛矿光伏器件光子固化过程的贝叶斯优化
柔性钙钛矿光伏器件光子固化过程的贝叶斯优化在光伏领域,柔性钙钛矿光伏器件凭借其独特优势,成为研究热点。而光子固化过程对其性能有着关键影响,今天咱们就来聊聊如何用贝叶斯优化这个利器,对柔性钙钛矿光伏器件光子固化过程进行…
Linux超级编辑工具VIM
一、打开文件最小化安装没有vim[rootcloud ~]# yum -y install vim ---下载vim(或者dnf -y install vim)[rootcloud ~]# vim a.txt ---使用vim编辑a.txt注意:vim可以直接打开并创建新文件,如果不编辑直接退出,文…