• ベストアンサー

相対パス

CFile::Rename(".\\inbox\\mdata05.bin",".\\inbox\\mdata04.bin"); としてサブフォルダー inbox にあるファイルmdata05.binの名前をmdata04.bin にしたいのですが .\\inbox\\mdata05.binには無効なパスが含まれています。 とメッセージが出ます。 相対パスの指定はどのようにすればよいのでしょうか? OSはVista、コンパイラはVC++2005 を使っています。 よろしくお願いします。

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

  • ベストアンサー
  • pick52
  • ベストアンサー率35% (166/466)
回答No.2

相対パスの場合、どこがカレントディレクトリ(作業ディレクトリ)かを ちゃんと確認しないといけません。 デバッグ時とスタンドアロン実行時で異なることがあるので、確認して みてください。 他には単純にパス指定が間違っているという可能性も。

isiyaki33
質問者

お礼

char pathbuf[_MAX_PATH+1]; GetCurrentDirectory(sizeof(pathbuf),pathbuf); として調べたら、 とんでもないところに居ました。  ありがとうございました。

その他の回答 (1)

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

.\\inbox\\mdata05.bin→/inbo/mdata05.bin だと思います。ドット1つを頭に付けるのは プログラムの実行時だけではなかったでしょ うか?あまり自信はないですが。

isiyaki33
質問者

お礼

char pathbuf[_MAX_PATH+1]; GetCurrentDirectory(sizeof(pathbuf),pathbuf); として調べたら、 とんでもないところに居ました。  ありがとうございました。

関連するQ&A