在 Qt 中,读取和写入 INI 文件可以使用 QSettings
类。QSettings
类提供了一种简单的方法来保存应用程序设置和其他配置数据。尽管 QSettings
通常用于处理英文键和值,但它同样可以处理包含中文字符的键和值。
以下是一个简单的示例,演示如何在 Qt 中读取和写入包含中文字符的键和值的 INI 文件。
示例代码
#include <QCoreApplication>
#include <QSettings>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 定义 INI 文件路径
QString iniFilePath = "config.ini";
// 创建 QSettings 对象
QSettings settings(iniFilePath, QSettings::IniFormat);
// 写入中文键和值
settings.setValue("设置/中文名称", "中文值");
settings.setValue("配置/路径", "C:/路径/到/文件");
// 读取中文键和值
QString 中文名称的值 = settings.value("设置/中文名称").toString();
QString 路径的值 = settings.value("配置/路径").toString();
// 打印读取到的值
qDebug() << "中文名称的值:" << 中文名称的值;
qDebug() << "路径的值:" << 路径的值;
return a.exec();
}
说明
- 创建 QSettings 对象:
QSettings settings(iniFilePath, QSettings::IniFormat);
iniFilePath
是 INI 文件的路径。QSettings::IniFormat
指定文件格式为 INI。
- 写入中文键和值:
settings.setValue("设置/中文名称", "中文值");
settings.setValue("配置/路径", "C:/路径/到/文件");
- 这里的键和值都使用了中文字符。
- 读取中文键和值:
QString 中文名称的值 = settings.value("设置/中文名称").toString();
QString 路径的值 = settings.value("配置/路径").toString();
- 使用
settings.value()
方法读取值,并将其转换为QString
。
- 使用
- 打印读取到的值:
- 使用
qDebug()
打印读取到的中文值。
- 使用
注意事项
- 确保你的项目文件(
.pro
文件)中包含了QT += core
,因为QCoreApplication
和QSettings
类都属于 Qt Core 模块。 - 编码问题:确保你的源代码文件使用 UTF-8 编码,并且 Qt Creator 或其他开发工具正确配置为使用 UTF-8 编码。
这个示例展示了基本的读取和写入操作,你可以根据需要扩展它,处理更多的键和值,或者添加错误处理逻辑。