名前空間
変種
操作

std::experimental::filesystem::path::extension

From cppreference.com
< cpp‎ | experimental‎ | fs‎ | path
 
 
 
 
 
path extension() const;
(filesystem TS)

パスのファイル名コンポーネントの拡張子を返します*this

パスの filename() コンポーネントにピリオド (.) が含まれており、特殊なファイルシステム要素である dot または dot-dot のいずれでもない場合、*拡張子*は最も右のピリオド(ピリオドを含む)からパス名の末尾までの部分文字列になります。

パス名が . または .. のいずれかである場合、または filename(). 文字が含まれていない場合、空のパスが返されます。

拡張子に追加の要素(代替データストリームやパーティション化されたデータセット名など)を付加するファイルシステムについては、実装によって追加の動作が定義される場合があります。

目次

[編集] パラメータ

(なし)

[編集] 戻り値

現在のパス名の拡張子。拡張子がない場合は空のパス。

[編集] 例外

実装定義の例外をスローする場合があります。

[編集] 注釈

この関数によって返される拡張子にはピリオドが含まれており、ピリオドで終わるファイル(関数は "." を返します)を、拡張子のないファイル(関数は "" を返します)と区別できるようにします。

任意のパス p に対して、p.stem()+p.extension() == p.filename() です。

[編集]

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::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';
}

出力

".txt"
"."
""
".cc"
"."
""
""
""
".hidden"

[編集] 関連項目

ファイル名のパスコンポーネントを返します。
(public member function) [編集]
ステムパスコンポーネントを返します。
(public member function) [編集]
拡張子を置き換えます。
(public member function) [編集]
対応するパス要素が空でないかどうかをチェックします。
(public member function)
English 日本語 中文(简体) 中文(繁體)