1

C/C++ を使用して Windows でアプリケーションを作成しています。file/directory知りたいのですが、 fromのフルパスを取得するにはどうすればよいfilename/directoryですか?

例: 私のファイル名はtest\test.txtで、実際には にあります。C:\Sample\test\test.txt私のプロジェクトは にありE:\MyProjectます。

C:\Sample\test\test.txtでは、 filename からフルパスを取得するにはどうすればよいですかtest\test.txt。同じことがどのディレクトリにも当てはまります。

GetFullPathName を使用してみましたが、E:\MyProject\test\test.txtどちらが間違っているかしか返されません。

前もって感謝します。

4

1 に答える 1

1

Boost Filesystemをご覧ください。

すべての一般的なパス操作を非常にきれいに処理します。

あなたの場合:

int main()
{
  using boost::filesystem::absolute;
  using boost::filesystem::path;

  std::cout << absolute(path("test\\test.txt"), path("C:\\Sample")) << std::endl;
}

の 2 番目の引数absolute()オプションであり、絶対パスを決定するために使用する「現在のパス」を指定することに注意してください。おそらくあなたがあなたの場合に望むもの。

于 2013-02-21T07:56:13.847 に答える