QT开发中文网

Qt怎么读取文件里的中文

在 Qt 中读取文件里的中文,需要使用正确的编码方式进行读取。如果文件是 UTF-8 编码,则可以直接读取;如果文件是 GBK 或者其他编码方式,则需要先将其转换成 UTF-8 编码,然后再进行读取。

以下是一个简单的示例代码,演示了如何读取一个 UTF-8 编码的文本文件:

#include <QFile>
#include <QTextStream>

int main()
{
    // 打开文件
    QFile file("test.txt");
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
        return -1;

    // 使用 QTextStream 读取文件内容
    QTextStream in(&file);
    in.setCodec("UTF-8"); // 设置编码方式为 UTF-8
    QString content = in.readAll();

    // 输出文件内容
    qDebug() << content;

    // 关闭文件
    file.close();

    return 0;
}

在上面的代码中,通过 QFile 打开文件,并指定了 QIODevice::ReadOnlyQIODevice::Text 标志表示以只读文本格式打开文件。然后,使用 QTextStream 来读取文件内容,并通过 setCodec() 函数设置编码方式为 UTF-8。最后,使用 readAll() 函数读取所有文件内容,并存储在一个 QString 对象中。最后,关闭文件并输出文件内容。

需要注意的是,在使用 QTextStream 读取文件内容时,必须设置正确的编码方式,否则可能出现乱码或者无法读取中文的情况。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=379

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?