读取文本文件(编码UTF8)
QString filename = "";
QFile file(filename);
if (!file.open(QIODevice::Text | QIODevice::ReadOnly))
{
log("Open file failed!");
return;
}
QTextStream in(&file);
in.setCodec("UTF-8");
QString line = in.readLine();
while (!line.isNull())
{
// DO
line = in.readLine();
}
file.close();
写文本文件
标签:Qt,读写,current,文本文件,QString,file,arg,QIODevice,total From: https://www.cnblogs.com/hely-ljm/p/17995094
QFile file(exportFile);
if (!file.open(QIODevice::Text | QIODevice::WriteOnly | QIODevice::Truncate))
{
// 打开文件失败
file.close();
MSGBOX_INFO("Dictionary", QString("Open %1 failed!").arg(exportFile), "");
return;
}
QTextStream out(&file);
out.setCodec("UTF-8");
// 输出表头
out << m_headlist.join(",") << endl;
QMap<int, int> idColumnMap;
int total = totalResults.size();
int current = 0;
for (auto item : totalResults)
{
QStringList itemLst;
item.toLst(itemLst);
out << itemLst.join(",") << endl;
current++;
if (current % 10 == 0)
{
QString process = QString("Export All: %1/%2, %3%").arg(current).arg(total).arg(current / (total+1));
ui->label_15->setText(process);
QCoreApplication::processEvents();
}
}
QString process = QString("Export All: %1/%2").arg(current).arg(total);
ui->label_15->setText(process);
file.close();