簡體   English   中英

修改要在Printf中使用的文件路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM