【C++Builder】よく使うパス操作(TPath)

  • URLをコピーしました!

今回紹介するメソッドを使用するには「System.IOUtils.hpp」をインクルードする必要があります。

目次

2つのパス文字列を結合する(Combine)

通常、パス文字列を結合する場合、円マークを意識する必要がありますが、Combineを使用すれば、円マークを意識せずにパス文字列の結合を行うことができます。

サンプルソース

// フォルダ・ファイル名設定
String Folder = "C:\\Temp";
String FileName = "Text.txt";

// フォルダ・ファイル名結合
String FilePath = TPath::Combine(Folder, FileName);

// 確認
Application->MessageBox(FilePath.c_str(), L"メッセージ");

補足1:パス文字列に無効な文字が含まれている場合、例外が発生します。

フォルダパスを取得する(GetDirectoryName)

ファイルパスからフォルダパスを取得することができます。

サンプルソース

// ファイルパス設定
String FilePath = "C:\\Temp\\Text.txt";

// フォルダパス取得
String Folder = TPath::GetDirectoryName(FilePath);

// 確認
Application->MessageBox(Folder.c_str(), L"メッセージ");

補足1:パス文字列の末尾に円マークは含まれません。
補足2:パス文字列に無効な文字が含まれている場合、例外が発生します。

拡張子を取得する(GetExtension)

ファイルパス・ファイル名から拡張子を取得することができます。

サンプルソース

// ファイルパス設定
String FilePath = "C:\\Temp\\Text.txt";

// 拡張子取得
String Extension = TPath::GetExtension(FilePath);

// 確認
Application->MessageBox(Extension.c_str(), L"メッセージ");

補足1:拡張子は、ドット(.)を含みます。
補足2:パス文字列に無効な文字が含まれている場合、例外が発生します。

ファイル名を取得する(GetFileName)

ファイルパスからファイル名を取得します。

サンプルソース

// ファイルパス設定
String FilePath = "C:\\Temp\\Text.txt";

// ファイル名取得
String FileName = TPath::GetFileName(FilePath);

// 確認
Application->MessageBox(FileName.c_str(), L"メッセージ");

補足1:パス文字列に無効な文字が含まれている場合、例外が発生します。

絶対パスを取得する(GetFullPath)

相対パス(.\や..\等)から絶対パスを取得します。

サンプルソース

// ファイルパス設定
String FilePath1 = ".\\Text.txt";

// 絶対パス取得
String FilePath2 = TPath::GetFullPath(FilePath1);

// 確認
Application->MessageBox(FilePath2.c_str(), L"メッセージ");

補足1:アプリケーションを基準に絶対パスを取得します。
補足2:パス文字列に無効な文字が含まれている場合、例外が発生します。

  • URLをコピーしました!
目次