• ベストアンサー

C++での文字列の挿入。置き換え方法

C++で 別ファイルから読み込んだ文字列をファイルパスとして使用したいのですが、この時\を\\に置き換えないと認識してもらえないですよね。 例:読み込んだ文字列 C:\Documents and Settings\user\My Documents\a.text これをC:\\Documents and Settings\\user\\My Documents\\a.text というように変換したいのです。 読み込んだ文字列中に\を見つけたら\\に置き換える。もしくは\をもうひとつ挿入・・・といったコードを書けばよいと思うのですが、こちらの方法が良く思いつきません。うまくできるようなアドバイスをいただける方がいましたらどうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

そんな事をする必要はありません。 \\を使うのは、ソースコードで「”」で括った文字列の中に「\」を書きたい時にだけ必要です。 ファイルの中に入っている「\が1つになっているパス文字列」は、そのまま、パス文字列として、ファイル操作関数で使えます。余計な加工は一切要りません。 別ファイルに C:\Documents and Settings\user\My Documents\a.text と入っているなら、それを文字列変数に読み込んで、そのまま、何もしないで、ファイルオープン関数にファイル名として指定できます。

関連するQ&A