标题:Qt写文件出现 0\00\00\00\00\00\00\00\00\00\00
作者:shixingya
日期:2016-07-18 20:20
内容:
Qt写文件出现\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00[2016-07-18 20:25:26 周一] Debug: debug
代码如下
static void outputMessage(QtMsgType type, const char *msg)
{
static QMutex mutex;
mutex.lock();
QString text;
switch(type)
{
case QtDebugMsg:
text = QString("Debug:");
break;
case QtWarningMsg:
text = QString("Warning:");
break;
case QtCriticalMsg:
text = QString("Critical:");
break;
case QtFatalMsg:
text = QString("Fatal:");
abort();
}
QString message = QString("[%1] %2 %3").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss ddd")).arg(text).arg(msg);
QString _logDir ="/mnt/hgfs/andyWork/log.txt";
QFile file(_logDir);
file.open(QIODevice::WriteOnly | QIODevice::Append);
QTextStream text_stream(&file);
text_stream
#1 [shixingya 07-18 20:20]
qInstallMsgHandler(outputMessage);
#2 [shixingya 07-18 20:21]
怎么解决呢
您打开的文件含有无效字符。如果您强行编辑该文件,可能会造成文件损坏。
您可以另选一种字符编码,然后再试一次。
#3 [6gongzi 07-19 13:42]
两个问题:
1 QString text;
初始化成空串
2 text = QString("Fatal:");
abort() ,这个abort调用的位置不对
应该在函数最后返回的时候,或者根本不应该出现在这个函数中
#4 回 6gongzi 的帖子 [shixingya 07-19 15:49]
6gongzi:两个问题:
1 QString text;
初始化成空串
2 text = QString("Fatal:");
....... (2016-07-19 13:42)
按照你的提醒 修改后 还是有错
在Win 7下 一切正常 可以生成Log日志文件
在Linux下 错误和之前的一样
#5 回 shixingya 的帖子 [shixingya 07-19 15:50]
shixingya:
按照你的提醒 修改后 还是有错
在Win 7下 一切正常 可以生成Log日志文件
在Linux下 错误和之前的一样
按照你的提醒 修改后 还是有错
在Win 7下 一切正常 可以生成Log日志文件
在Linux下 错误和之前的一样