gpt4 book ai didi

c++ - QSettings - 读取路径值的方式是什么?

转载 作者:可可西里 更新时间:2023-11-01 09:24:04 37 4
gpt4 key购买 nike

使用 windows xp,我想从 .ini 文件中读取一个值。该值是一个路径。使用 QSettings,调用“settings.value("key").toString()”的结果是不包括反斜杠的路径,因为反斜杠是转义字符。使用 QSettings 从 ini 文件读取路径的方法是什么?

最佳答案

Although backslash is a special character in INI files, most Windows applications don't escape backslashes () in file paths [...]

QSettings always treats backslash as a special character and provides no API for reading or writing such entries.

这是文档必须说明的内容。这是一种礼貌的说法,“如果其他代码执行此操作,则说明它们不遵循 WINAPI 规范并且它已损坏,我们不应该处理它”。您的 .ini 文件几乎已损坏。

如果您想阅读它们,您可能需要为 QSettings 提供您自己的后端。通过复制作为 Qt 一部分的后端,并修改它不执行转义,可以很容易地获得这样的后端。

您需要调查为此目的编写您自己的 QTextCodec 并将其传递给 QSettings::setIniCodec 是否就足够了。如果足够的话,您不需要提供整个后端。

关于c++ - QSettings - 读取路径值的方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31143938/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com