0

我有一个字符串,类似于"c:\x\y\z"

我想要它的形式"c://x//y//z"

我尝试使用stdString.replace("\","//");但它不起作用。

有什么建议么?

4

3 回答 3

5

如果您的字符串是"c:\x\y\z",则\您的字符串中没有。\表示转义字符。将您的字符串更改为"c:\\x\\y\\z".

另外,请注意如何replace工作 - http://www.cplusplus.com/reference/string/string/replace/

我不认为你可以直接'\\'用两个替换一个字符"//"。(我可能被证明是错误的)。

选择:

std::stringstream ss;
for ( int i = 0 ; i < str.size() ; i++ )
{
    if ( str[i] == '\\' )
        ss << "//";
    else
        ss << str[i];
}
str = ss.str();
于 2012-06-14T07:26:11.377 回答
0
stdString.replace("\\","\/\/"); ?
于 2012-06-14T07:27:38.550 回答
0

如果您在源代码中硬编码文件路径,那么您可以将值更改为"c:\\x\\y\\z"

于 2012-06-14T07:29:16.430 回答