找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 148|回复: 0

QT上的一个打印调试到文件的函数

[复制链接]

1

主题

0

回帖

37

积分

管理员

积分
37
发表于 2024-5-4 19:19:53 | 显示全部楼层 |阅读模式
  1. #include <qtextstream.h>
  2. #include <qdatetime.h>
  3. #include <dlfcn.h>
  4. #include <QFile>
  5. #include <QDir>
  6. /*************************************************
  7. Description:    // 获取函数运行信息
  8. Input:          // func - 函数指针
  9. *************************************************/
  10. QString identify采用function采用ptr(void* func)
  11. {
  12.     Dl采用info info;
  13.     int rc = dladdr(func,&info);
  14.     return info.dli采用fname;
  15. }
  16. /*************************************************
  17. Description:    // 打印调试信息到文本文件
  18. Input:          // outSt - 字符 filename - 文件名
  19. *************************************************/
  20. void DPrintfToFile(QString outSt,QString filename)
  21. {
  22.     //默认文件名
  23.     if(filename=="")
  24.     {
  25.         filename = "DebugLog.txt";
  26.     }
  27.     //路径
  28.     QString filePath = identify采用function采用ptr((void*) identify采用function采用ptr);
  29.     QFileInfo fileInfo(filePath);
  30.     QString directoryPath = fileInfo.dir().path() + "/" + filename;
  31.     QFile fileError(directoryPath);
  32.     if(fileError.open(QIODevice::ReadWrite|QIODevice::Text|QIODevice::Append)){
  33.         // 将内容写入文件
  34.         QTextStream out(&fileError);
  35.         out.setCodec("UTF-8");
  36.         QDateTime dateTime= QDateTime::currentDateTime();//获取系统当前的时间
  37.         QString strTime = dateTime.toString("yyyy-MM-dd hh:mm:ss");//格式化时间
  38.         out.seek(0);
  39.         out << strTime << ":" << outSt << "\n";
  40.         fileError.close();
  41.     }
  42. }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2025-1-6 15:22 , Processed in 0.109180 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表