Namespaces
Variants

std::experimental::filesystem:: path

From cppreference.net
ヘッダーで定義 <experimental/filesystem>
class path ;
(filesystem TS)

path 型のオブジェクトは、ファイルシステム上のパスを表します。パスの構文的な側面のみが扱われます:パス名は存在しないパス、あるいは現在のファイルシステムやOS上で存在が許可されていないパスを表す可能性もあります。

パス名は以下の構文を持ちます:

  1. root-name (オプション) : 複数のルートを持つファイルシステム(例: "C:" "//myserver" )におけるルートを識別します。POSIXファイルシステムは単一のルートを持ちます。
  2. root-directory (オプション) : ディレクトリ区切り文字で、存在する場合、このパスを 絶対パス としてマークします。欠落している場合(かつルート名以外の最初の要素がファイル名である場合)、パスは 相対パス となり、ファイル名を解決するための開始位置として別のパスを必要とします。
  3. 以下の要素の0個以上:
  • file-name : ディレクトリ区切り文字または推奨ディレクトリ区切り文字ではない文字のシーケンス(OSまたはファイルシステムによって追加の制限が課される場合があります)。この名前は、ファイル、ハードリンク、シンボリックリンク、またはディレクトリを識別する場合があります。2つの特別な file-name が認識されます:
  • dot : 単一のドット文字 . から構成されるファイル名は、現在のディレクトリを参照するディレクトリ名です。
  • dot-dot : 2つのドット文字 .. から構成されるファイル名は、親ディレクトリを参照するディレクトリ名です。
  • directory-separator s: スラッシュ文字 / または path::preferred_separator として提供される代替文字。この文字が繰り返される場合、単一のディレクトリ区切り文字として扱われます: / usr ///////lib / usr / lib と同じです。

パスは、 begin() および end() 関数によって返されるイテレータを用いて要素単位で走査できます。これらはルート名、ルートディレクトリ、および後続のファイル名要素を順に反復します(ディレクトリ区切り文字は、ルートディレクトリを識別するものを除いてスキップされます)。パスの最後の要素がディレクトリ区切り文字である場合、最後のイテレータはファイル名 dot を参照します。

path の非constメンバ関数を呼び出すと、 そのオブジェクトの要素を参照するすべてのイテレータが無効になります。

オペレーティングシステムが、前述の移植性のある generic 構文とは異なる native 構文を使用する場合、すべてのライブラリ関数は両方の形式のパス名を受け入れます。

Pathは暗黙的に std::basic_string との間で変換可能であり、これにより他のファイルAPIで使用することが可能になります。例えば、 std::ifstream::open の引数として使用する場合などです。

目次

翻訳の説明: - 「Contents」→「目次」に翻訳 - C++関連の専門用語(Member types、Member constants、Member functions、Concatenation、Modifiers、Format observers、Compare、Decomposition、Queries、Iterators、Non-member functions)は原文のまま保持 - HTMLタグ、属性、クラス名、ID、リンク先は一切変更せず - 番号付けの構造と書式は完全に維持

メンバー型

定義
value_type ファイルシステムのネイティブエンコーディングで使用される文字型: char (POSIX)、 wchar_t (Windows)
string_type std:: basic_string < value_type >
const_iterator value_type path である定数 LegacyBidirectionalIterator
iterator const_iterator へのエイリアス

メンバー定数

constexpr value_type preferred_separator
[static]
ポータブルな / に加えて使用可能な代替ディレクトリ区切り文字。Windowsでは、これはバックスラッシュ文字 \ です。POSIXでは、これはポータブルな区切り文字と同じスラッシュ / です。
(公開静的メンバ定数)

メンバー関数

path を構築する
(公開メンバ関数)
path オブジェクトを破棄する
(public member function)
別のパスを代入する
(public member function)
内容を割り当てる
(公開メンバ関数)
連結 (Concatenation)
パスに要素を追加する
(公開メンバ関数)
ディレクトリ区切り文字を導入せずに2つのパスを連結する
(公開メンバー関数)
修飾子
内容を消去する
(公開メンバ関数)
ディレクトリ区切り文字を優先ディレクトリ区切り文字に変換する
(公開メンバ関数)
ファイル名パスコンポーネントを削除します
(公開メンバ関数)
最後のパスコンポーネントを別のパスで置き換える
(公開メンバ関数)
拡張子を置き換える
(公開メンバ関数)
2つのパスを交換する
(公開メンバ関数)
フォーマットオブザーバー
パスのネイティブ版を返す
(公開メンバ関数)
ネイティブのパス名形式で変換された文字列としてパスを返す
(公開メンバ関数)
汎用パス名形式に変換されたパスを文字列として返す
(公開メンバ関数)
比較
2つのパスの字句表現を辞書順に比較する
(公開メンバ関数)
分解 (Decomposition)
パスにルート名が存在する場合、それを返す
(public member function)
パスにルートディレクトリが存在する場合、それを返す
(public member function)
パスが存在する場合、そのルートパスを返します
(public member function)
ルートパスからの相対パスを返す
(公開メンバ関数)
親パスのパスを返す
(公開メンバ関数)
ファイル名パスコンポーネントを返す
(公開メンバー関数)
ステムパスコンポーネントを返す
(公開メンバ関数)
ファイル拡張子パスコンポーネントを返す
(公開メンバー関数)
クエリ
パスが空かどうかをチェックする
(公開メンバ関数)
対応するパス要素が空でないかチェックします
(公開メンバ関数)
root_path() がファイルシステムの位置を一意に識別するかどうかをチェック
(public member function)
イテレータ
パスを要素のシーケンスとしてアクセスするイテレータ
(公開メンバ関数)

非メンバー関数

2つのパスを交換する
(関数)
2つのパスを辞書順で比較する
(関数)
ディレクトリ区切り文字で2つのパスを連結する
(関数)
パスに対してストリーム入出力を実行する
(関数)
UTF-8エンコードされたソースから path を作成する
(関数)