我有一个字符串,类似于"c:\x\y\z"
我想要它的形式"c://x//y//z"
我尝试使用stdString.replace("\","//");
但它不起作用。
有什么建议么?
如果您的字符串是"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();
stdString.replace("\\","\/\/"); ?
如果您在源代码中硬编码文件路径,那么您可以将值更改为"c:\\x\\y\\z"