【问题标题】:Double backslash not work?双反斜杠不起作用?
【发布时间】:2010-10-18 06:24:38
【问题描述】:

有人知道为什么某些 Windows XP 安装不会评估带有双反斜杠的路径吗?

在某些 XP 上发现错误(相同的版本、补丁、未知的更多详细信息)。在大多数情况下一切正常,在某些 PC 上以下不起作用:

如果路径包含两个反斜杠,例如 C:\\test\hello.txt,则使用 RegEnumKeyEx、fopen 等函数查询路径(注册表或文件夹)将失败。

strPath = "\SOFTWARE\Microsoft\Windows\Currentversion\run"    // works

strPath = "\SOFTWARE\Microsoft\Windows\Currentversion\\run"   // doesn't work

是否有一些政策选项或设置会影响它?

欢迎任何帮助, RM

【问题讨论】:

    标签: windows-xp path registry


    【解决方案1】:

    可能完全不相关,但使用 C/C++(以及其他语言)- "c:\\\\test\hello.txt" 可以,但"c:\test\hello.txt" 不行(因为\t 被解析为制表符,所以你得到的名字并不真正存在)。

    当两个反斜杠不存在时,是否有可能发生故障,而当它们存在时,事情就正常了?

    【讨论】:

    • 不,语法是正确的。我的意思是当语法中有四个反斜杠时它不起作用,导致实际字符串中有两个反斜杠。当有两个反斜杠(导致实际字符串中有一个反斜杠)时,它确实有效
    【解决方案2】:

    你为什么不简单地修改路径在使用前只有一个\?

    【讨论】:

    • 这不是我做不到,而是要知道为什么会这样。这没有道理。我过去在很多代码中也使用过它,所以很高兴知道
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 2013-06-24
    相关资源
    最近更新 更多