带空间的目录路径

时间:2014-08-10 14:25:27

标签: qt

也许你认为这个问题之前已经解决得越来越多,但我还有另外一个问题。 例如,目录路径是“C:\ Program Files(x86)\ sth”。 我不直接设置它!我从注册表中获取它。因此,目录路径在另一个系统中可能不同。 如何动态地将目录路径更改为有效的路径?

非常感谢。

Ya Ali。

3 个答案:

答案 0 :(得分:1)

如果你从注册表中读取这个路径,那么它的反斜杠应该已经被转义(就像你使用cin获取一个字符串并且有一个反斜杠一样),所以路径应该是有效的。如果它以某种方式不适合您,您可以尝试使用QDir::fromNativeSeparators() QtDoc。它会将反斜杠更改为斜杠,Qt也可以在Windows上处理。

答案 1 :(得分:-1)

经常搜索并找不到什么大事!

但我写了自己的代码。

    QList<QString> lst = installedPath.split("\\");
    for(int i=0;i<lst.size(); i++)
    {
        if(lst.at(i).indexOf(" ") != -1)
        {
            validLocation += "\"";
            validLocation += lst.at(i);
            validLocation += "\"";
            validLocation += "\\\\";
        }
        else
        {
            validLocation += lst.at(i);
            if(i != lst.size()-1)
                validLocation += "\\\\";
        }
    }

答案 2 :(得分:-1)

在驱动器符号后尝试双斜杠:“C:// Program Files(x86)/ sth”