我有一个类似于 "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();
关于c++ - 修改文件路径以在 Printf 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11028501/