qt 读取和写入ini文件,可以写入中文

在Qt中,你可以使用QSettings类来读取和写入INI文件。QSettings类提供了一种便捷的方法来管理应用程序的设置,并且支持读写包含中文在内的Unicode字符。

以下是一个简单的示例,展示了如何使用QSettings类读取和写入INI文件,并处理中文内容。

示例代码

写入INI文件

#include <QCoreApplication>
#include <QSettings>
#include <QString>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // 创建一个QSettings对象,指定文件名和格式(INI格式)
    QSettings settings("config.ini", QSettings::IniFormat);

    // 写入一些设置,包括中文内容
    settings.setValue("general/appName", "我的应用程序");
    settings.setValue("general/version", "1.0");
    settings.setValue("user/name", "张三");
    settings.setValue("user/age", 30);

    qDebug() << "设置已写入到 config.ini";

    return a.exec();
}
读取INI文件

#include <QCoreApplication>
#include <QSettings>
#include <QString>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // 创建一个QSettings对象,指定文件名和格式(INI格式)
    QSettings settings("config.ini", QSettings::IniFormat);

    // 读取设置
    QString appName = settings.value("general/appName").toString();
    QString version = settings.value("general/version").toString();
    QString userName = settings.value("user/name").toString();
    int userAge = settings.value("user/age").toInt();

    // 输出读取到的设置
    qDebug() << "应用名称:" << appName;
    qDebug() << "版本号:" << version;
    qDebug() << "用户名:" << userName;
    qDebug() << "用户年龄:" << userAge;

    return a.exec();
}

注意事项

  1. 编码问题:确保你的源代码文件使用UTF-8编码,这样可以正确处理中文字符。
  2. 文件路径:在创建QSettings对象时,你可以指定一个绝对路径或相对路径。相对路径是相对于应用程序的当前工作目录。
  3. 同步:在某些情况下,你可能需要调用QSettings::sync()来确保所有更改都被写入到磁盘。

运行结果

运行写入代码后,你会在当前目录下生成一个config.ini文件,内容类似如下:

[general]
appName=我的应用程序
version=1.0

[user]
name=张三
age=30

运行读取代码后,你会在控制台看到输出:

应用名称: "我的应用程序"
版本号: "1.0"
用户名: "张三"
用户年龄: 30

这样,你就可以使用Qt的QSettings类方便地读取和写入包含中文的INI文件了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值