std::filesystem::path:: extension
| Member types | ||||||||||||||||||||||||||
| Member constants | ||||||||||||||||||||||||||
| Member functions | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
| Path decomposition | ||||||||||||||||||||||||||
| Non-member functions | ||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
| Helper classes | ||||||||||||||||||||||||||
|
path extension
(
)
const
;
|
(C++17以降) | |
ジェネリック形式ビューのファイル名コンポーネントの拡張子を返します * this 。
もし
filename()
コンポーネントのジェネリック形式パスにピリオド(
.
)が含まれ、かつ特別なファイルシステム要素
dot
または
dot-dot
でない場合、
extension
は最も右側のピリオド(ピリオドを含む)からパス名の終わりまでの部分文字列となります。
ファイル名の最初の文字がピリオドの場合、そのピリオドは無視されます(".profile"のようなファイル名は拡張子として扱われません)。
パス名が
.
または
..
である場合、あるいは
filename()
が
'.'
文字を含まない場合、空のパスが返されます。
実装によっては、ファイルシステムに対して拡張子に追加の要素(代替データストリームや区分データセット名など)を付加する動作が定義される場合があります。
目次 |
パラメータ
(なし)
戻り値
現在のパス名の拡張子、または拡張子がない場合は空のパス。
例外
実装定義の例外をスローする可能性があります。
注記
この関数が返す拡張子には、ピリオドで終わるファイル(関数が "." を返す)と拡張子のないファイル(関数が "" を返す)を区別できるように、ピリオドが含まれています。
POSIX以外のシステムでは、 p. stem ( ) + p. extension ( ) ! = p. filename ( ) となる可能性があります。たとえジェネリック形式のバージョンが同じであっても。
例
#include <filesystem> #include <iostream> namespace fs = std::filesystem; int main() { std::cout << fs::path("/foo/bar.txt").extension() << '\n' << fs::path("/foo/bar.").extension() << '\n' << fs::path("/foo/bar").extension() << '\n' << fs::path("/foo/bar.txt/bar.cc").extension() << '\n' << fs::path("/foo/bar.txt/bar.").extension() << '\n' << fs::path("/foo/bar.txt/bar").extension() << '\n' << fs::path("/foo/.").extension() << '\n' << fs::path("/foo/..").extension() << '\n' << fs::path("/foo/.hidden").extension() << '\n' << fs::path("/foo/..bar").extension() << '\n'; }
出力:
".txt" "." "" ".cc" "." "" "" "" "" ".bar"
関連項目
|
ファイル名パスコンポーネントを返す
(公開メンバ関数) |
|
|
ステムパスコンポーネントを返す(最終拡張子を除いたファイル名)
(公開メンバ関数) |
|
|
拡張子を置換する
(公開メンバ関数) |
|
|
対応するパス要素が空でないかチェックする
(公開メンバ関数) |