std::tr2::sys::pathクラスの内容出力系関数の比較
今回はC++の話です。
たまに使おうとするといつも使い方を忘れているstd::tr2::sys::pathクラスについて、
文字列出力関係の関数と出力結果をまとめておきます。
パスの連結や比較なども機能として用意してあるようです。以下にまとめてあります。
が、この記事だと出力系がわかりにくかったので。。。
path クラス (C++ 標準テンプレート ライブラリ)
以下のパスを入力として与えてそれぞれの関数で出力した結果は以下の通りです。
(Windowsを想定しているので「\\」で区切っています)
C:\\TestDir1\\TestDir2\\TestFileName.bmp
関数 | 出力 | 区切り文字 | 説明(違ってたら指摘お願いしますm(_ _)m) |
---|---|---|---|
basename() | TestFileName | - | ファイル名(拡張子無し) |
branch_path() | C:/TestDir1/TestDir2 | / | ファイルのあるディレクトリまでのパス |
directory_string() | C:\TestDir1\TestDir2\TestFileName.bmp | \ | フルパス |
extension() | .bmp | - | 拡張子部分 |
external_directory_string() | C:\TestDir1\TestDir2\TestFileName.bmp | \ | フルパス |
external_file_string() | C:\TestDir1\TestDir2\TestFileName.bmp | \ | フルパス |
filename() | TestFileName.bmp | - | ファイル名(拡張子有り) |
file_string() | C:\TestDir1\TestDir2\TestFileName.bmp | \ | フルパス |
leaf() | TestFileName.bmp | - | ファイル名(拡張子有り) |
parent_path().string() | C:/TestDir1/TestDir2 | / | ファイルのあるディレクトリまでのパス |
relative_path() | TestDir1/TestDir2/TestFileName.bmp | / | ドライブ文字以外?(相対?) |
remove_filename() | C:/TestDir1/TestDir2 | / | ファイル名以外 |
remove_leaf() | C:/TestDir1 | / | leaf()以外?(そうなってないけど。。。) |
root_directory() | / | / | ルートディレクトリ名 |
root_name() | C: | - | ルート名 |
root_path() | C:/ | / | ルートディレクトリパス |
stem() | TestDir1 | - | ? |
string() | C:/TestDir1 | / | ? |
なんだかよくわからない結果ですね。。。
同じ出力結果もちらほらとでています。
Linuxなどで出力した結果を比較するともっとわかりやすくなるのかもしれません。
時間があるときに試してみたいと思います。
わかりやすいリファレンスの場所をご存知の方がいらっしゃれば是非教えてください!