QT上的一个打印调试到文件的函数
#include <qtextstream.h>#include <qdatetime.h>
#include <dlfcn.h>
#include <QFile>
#include <QDir>
/*************************************************
Description: // 获取函数运行信息
Input: // func - 函数指针
*************************************************/
QString identify采用function采用ptr(void* func)
{
Dl采用info info;
int rc = dladdr(func,&info);
return info.dli采用fname;
}
/*************************************************
Description: // 打印调试信息到文本文件
Input: // outSt - 字符 filename - 文件名
*************************************************/
void DPrintfToFile(QString outSt,QString filename)
{
//默认文件名
if(filename=="")
{
filename = "DebugLog.txt";
}
//路径
QString filePath = identify采用function采用ptr((void*) identify采用function采用ptr);
QFileInfo fileInfo(filePath);
QString directoryPath = fileInfo.dir().path() + "/" + filename;
QFile fileError(directoryPath);
if(fileError.open(QIODevice::ReadWrite|QIODevice::Text|QIODevice::Append)){
// 将内容写入文件
QTextStream out(&fileError);
out.setCodec("UTF-8");
QDateTime dateTime= QDateTime::currentDateTime();//获取系统当前的时间
QString strTime = dateTime.toString("yyyy-MM-dd hh:mm:ss");//格式化时间
out.seek(0);
out << strTime << ":" << outSt << "\n";
fileError.close();
}
}
页:
[1]