Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows注册表中存储任意文本(包括';\';)_Windows_Qt_Encoding_Registry - Fatal编程技术网

如何在Windows注册表中存储任意文本(包括';\';)

如何在Windows注册表中存储任意文本(包括';\';),windows,qt,encoding,registry,Windows,Qt,Encoding,Registry,我正在Windows注册表中存储一些简短的用户数据字符串。在我的一个用户尝试存储包含“\”字符的字符串之前,这一切都很正常。然后将其解释为注册表路径分隔符 避免此问题的最佳做法是什么?某种简单的编码 注释:我使用Qt QSET类通过C++访问注册表,因此我希望得到一个通用的答案,而不是对任何特定的MS工具/语言的具体回答。< P>将密钥、子密钥和值分解成不同的参数。 所有的。将键、子键和值分解为不同的参数 所有。您应该能够直接使用QSettings::()功能。如果这不起作用(对于值,而不是键名

我正在Windows注册表中存储一些简短的用户数据字符串。在我的一个用户尝试存储包含“\”字符的字符串之前,这一切都很正常。然后将其解释为注册表路径分隔符

避免此问题的最佳做法是什么?某种简单的编码

注释:我使用Qt QSET类通过C++访问注册表,因此我希望得到一个通用的答案,而不是对任何特定的MS工具/语言的具体回答。

< P>将密钥、子密钥和值分解成不同的参数。 所有的。

将键、子键和值分解为不同的参数


所有。

您应该能够直接使用
QSettings::
()
功能。如果这不起作用(对于值,而不是键名),那么这听起来像是Qt中的一个bug。上一节明确提到不应将斜杠用于键名,但不知道值会有什么问题。

您应该能够直接使用
QSettings::
()
函数。如果这不起作用(对于值,而不是键名),那么这听起来像是Qt中的一个bug。上一节明确提到不应将斜杠用于键名,但不知道值会有什么问题。

我使用的是Qt API访问注册表,而不是MS Win32 API。我不喜欢将两者混用,也不喜欢在Win32 API.Ah中全部重写。我把“generic”请求理解为“low-level”/“language-unnostic”,而不是Qt-specific。我使用Qt-API访问注册表,而不是MS-Win32-API。我不喜欢将两者混用,也不喜欢在Win32 API.Ah中全部重写。我认为“generic”请求的意思是“low-level/”语言不可知,而不是Qt-specific.Groan。进一步检查后发现,我正在存储其他数据。因此,我使用用户字符串作为键的最后一部分,并将其余数据存储为值。因此,把事情搞砸也就不足为奇了。我的坏朋友,呻吟。进一步检查后发现,我正在存储其他数据。因此,我使用用户字符串作为键的最后一部分,并将其余数据存储为值。因此,把事情搞砸也就不足为奇了。我的错误。原来我是在键中存储包含\的字符串(不是我最初认为的数据)。因此,这并不奇怪,它没有工作。请帮我摆脱痛苦,关闭/删除问题。原来我是在键中存储包含\的字符串(不是我最初认为的数据)。因此,这并不奇怪,它没有工作。请帮我摆脱痛苦,结束/删除这个问题。