c++ builder XE4, 10.2 Tokyo > fileIO > 最下層フォルダ名を取得する実装
3818 ワード
動作確認
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2018/01/09)
AAA\\BBB\\CCC\\DDD
というフォルダ文字列からDDD
を取得する。
Unit1.cpp
String getDeepestDir(String srcstr)
{
// [AAA\\BBB\\CCC\\DDD]から[DDD]を取得する
std::unique_ptr<TStringList> list(new TStringList);
list->StrictDelimiter = true;
list->Delimiter = L'\\';
list->DelimitedText = srcstr;
return list->Strings[list->Count - 1];
}
ビルトイン関数がないのだろうか。
code v0.2
上記の場合srcstrの文字列の最後が\\
のようになっていたらL""が戻ってしまう。
ExcludeTrailingPathDelimiter()を使う以下のようにした。
Unit1.cpp
String getDeepestDir(String srcstr)
{
// [AAA\\BBB\\CCC\\DDD]から[DDD]を取得する
std::unique_ptr<TStringList> list(new TStringList);
list->StrictDelimiter = true;
list->Delimiter = L'\\';
list->DelimitedText = ExcludeTrailingPathDelimiter(srcstr);
return list->Strings[list->Count - 1];
}
Countが0の時のエラー処理などは実装していない。
Author And Source
この問題について(c++ builder XE4, 10.2 Tokyo > fileIO > 最下層フォルダ名を取得する実装), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/f788bfacf06a9fa99610著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .