0

私は次のような文字列を持っています"c:\x\y\z"

形で欲しい"c://x//y//z"

使ってみstdString.replace("\","//");たけどダメ。

助言がありますか?

4

3 に答える 3

5

文字列が の場合、文字列"c:\x\y\z"に no はありません\\エスケープ文字を示します。文字列を に変更します"c:\\x\\y\\z"

また、どのように機能するかに注意してくださいreplace- http://www.cplusplus.com/reference/string/string/replace/

'\\'1文字を2文字に直接置き換えることはできないと思います"//". (私が間違っていることが証明されるかもしれません)。

別:

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

ソースコードでファイルパスをハードコーディングした場合は、値を次のように変更できます"c:\\x\\y\\z"

于 2012-06-14T07:29:16.430 に答える
0
stdString.replace("\\","\/\/"); ?
于 2012-06-14T07:27:38.550 に答える