读text配置文件示例
QFile file(strFileName);
if (!file.open(QFile::ReadOnly | QIODevice::Text)){
return false;
}
//解析配置文件
QTextStream in(&file);
QString line = in.readLine();
while(!(in.atEnd() && line.length() == 0))
{
QStringList strList = line.trimmed().split(QRegExp("[ \\t]"));
RemoveNullString(strList);
if(strList.count() > 0)
{
listCfg.push_back(ConfigItem(strList[0], strList));
}
line = in.readLine();
}
file.close();
//剔除空字符串
void GetConfigInfor::RemoveNullString(QStringList &strList)
{
QStringList strList2;
for(int i = 0; i < strList.count(); ++i)
{
if(strList[i].trimmed().length() > 0)
{
strList2.push_back(strList[i].trimmed());
}
}
strList = strList2;
}
写text日志示例
void LogFile::WriteLog(const QString &s)
{
QString sLogFileName = QObject::tr("./") + g_strLogFileName;
QFile file(sLogFileName);
if (!file.open(QFile::WriteOnly | QFile::Append | QFile::Text)){
return;
}
QString sLog = QObject::tr("log(%1):").arg(QTime::currentTime().toString("hh:mm:ss.zzz"));
QTextStream ts(&file);
ts.reset();
ts.setCodec("UTF-8");//UTF必须大写才会被正确识别。
ts << sLog << s << endl;
file.close();
}