【Qt】Qt-文本文件读写

 

读取文本文件(编码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();







写文本文件


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();

posted @   hely_ljm  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示