C++/CLI

【C++/CLI】ファイルパス(フルパス)からファイル名、拡張子、ディレクトリの取得

ファイルを開くダイアログボックスなどから取得したファイル名(フルパス)からファイル名や拡張子、
ディレクトリなどを取得する場合には

System::IOクラスのGet×××メソッド

を用います。

 

以下、サンプルプログラムです。

//ファイル名(フルパス)
String^ FullPath = "c:\\Dir1\\Dir2\\Bitmap.bmp";
String ^FileName, ^Extension, ^Directory;

//ファイル名の取得(拡張子を含む)        → "Bitmap.bmp"
FileName = IO::Path::GetFileName(FullPath);
//ファイル名の取得(拡張子を含まない) → "Bitmap"
FileName = IO::Path::GetFileNameWithoutExtension(FullPath);
//拡張子の取得                         → ".bmp"  ※ピリオド"."を含みます。
Extension = IO::Path::GetExtension(FullPath);
//ディレクトリの取得                    → "c:\Dir1\Dir2"
Directory = IO::Path::GetDirectoryName (FullPath);
//相対パスから絶対パスを取得            → "c:\Dir1\Dir2\Bitmap.bmp"
FullPath = IO::Path::GetFullPath("Bitmap.bmp");

 

相対パスから絶対パスを取得する場合、指定したファイル名がカレントディレクトリに無い場合は
カレントディレクトリにファイル名が追加された文字列が返されます。

コメント

タイトルとURLをコピーしました