[英]Modify filepath to use in Printf
我有一個類似於"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"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.