Namespaces
Variants

Filesystem library

From cppreference.net

Filesystemライブラリ、ISO/IEC TS 18822:2015は、ファイルシステムとその構成要素(パス、通常ファイル、ディレクトリなど)に対する操作を実行するための機能を提供します。

このライブラリはオプションの technical specification であり、実装が階層型ファイルシステムにアクセスできない場合、または必要な機能を提供しない場合は利用できない可能性があります。一部の機能は、基盤となるファイルシステムでサポートされていない場合(例:FATファイルシステムにはハードリンク、ソフトリンク、その他の機能がない)は利用できないことがあります。

このライブラリ内の関数呼び出しが ファイルシステム競合 を引き起こす場合、すなわち複数のスレッド、プロセス、またはコンピューターがファイルシステム内の同一オブジェクトへのアクセスと変更を交互に行う場合、その動作は undefined です。

このライブラリは直接 boost.filesystem に基づいており、この実験的な技術仕様よりも現在より多くのコンパイラとプラットフォームで利用可能です。

目次

ライブラリ全体の定義

  • file : ファイルシステム上のオブジェクトで、データを保持し、書き込み、読み取り、またはその両方が可能なもの。ファイルには名前と属性があり、その一つがファイルタイプです:
  • ディレクトリ :ディレクトリエントリのコンテナとして機能するファイル。ディレクトリエントリは他のファイル(一部は他のネストされたディレクトリである可能性がある)を識別する。特定のファイルについて議論する際、そのファイルがエントリとして表示されるディレクトリはその 親ディレクトリ である。親ディレクトリは相対パス名 ".." で表すことができる。
  • ハードリンク :既存のファイルに名前を関連付けるディレクトリエントリ。複数のハードリンクがサポートされている場合、ファイルは最後のハードリンクが削除された後に削除される。
  • シンボリックリンク :パスに名前を関連付けるディレクトリエントリ。パスは存在する場合としない場合がある。
  • 通常ファイル :他のファイルタイプのいずれでもないファイル。
  • ファイル名 : ファイルを命名する文字列。使用可能な文字、大文字小文字の区別、最大長、および許可されない名前は実装定義です。名前 . (ドット) および .. (ドットドット) はライブラリレベルで特別な意味を持ちます。
  • パス : ファイルを識別する要素のシーケンス。オプションの root-name (例: "C:" または "//server" ) で始まり、続いてオプションの root-directory (例: Unixでの "/" )、その後に0個以上のファイル名のシーケンスが続きます(最後以外はすべてディレクトリまたはディレクトリへのリンクである必要があります)。パスの文字列表現( pathname )のネイティブ形式(例: 区切り文字として使用される文字)と文字エンコーディングは実装定義ですが、このライブラリはパスの移植可能な表現を提供します。
  • 絶対パス : ファイルの位置を明確に特定するパス。
  • 正規パス : シンボリックリンク、 "." または ".." 要素を含まない絶対パス。
  • 相対パス : ファイルシステム上の特定の位置を基準としてファイルを特定するパス。特別なパス名 . (ドット、「現在のディレクトリ」)および .. (ドットドット、「親ディレクトリ」)は相対パスである。

クラス

パスを表す
(クラス)
ファイルシステムエラー時にスローされる例外
(クラス)
ディレクトリエントリ
(クラス)
ディレクトリの内容へのイテレータ
(クラス)
ディレクトリとそのサブディレクトリの内容へのイテレータ
(クラス)
ファイルタイプとパーミッションを表す
(クラス)
ファイルシステムの空き容量と利用可能な容量に関する情報
(クラス)
ファイルのタイプ
(列挙型)
ファイルシステムのパーミッションを識別する
(列挙型)
コピー操作のセマンティクスを指定する
(列挙型)
ディレクトリ内容の反復処理のオプション
(列挙型)
ファイルの時間値を表す
(typedef)

非メンバー関数

絶対パスを構成する
パスを絶対パスに変換し、OS固有の動作を再現する
(function)
正規パスを構成する
(関数)
ファイルまたはディレクトリをコピーする
(関数)
ファイル内容をコピーする
(関数)
シンボリックリンクをコピーする
(関数)
新しいディレクトリを作成
(関数)
ハードリンクを作成する
(関数)
シンボリックリンクを作成する
(関数)
現在の作業ディレクトリを返す
(function)
パスが既存のファイルシステムオブジェクトを参照しているかどうかをチェックします
(関数)
2つのパスが同じファイルシステムオブジェクトを参照しているかどうかをチェックします
(関数)
ファイルのサイズを返す
(関数)
指定されたファイルを参照するハードリンクの数を返す
(関数)
最終データ更新時刻の取得または設定
(関数)
ファイルアクセス権限を変更する
(関数)
シンボリックリンクのターゲットを取得する
(関数)
ファイルまたは空のディレクトリを削除
ファイルまたはディレクトリとそのすべての内容を再帰的に削除
(function)
ファイルまたはディレクトリを移動または名前変更します
(function)
通常ファイルのサイズを切り詰めまたはゼロ埋めによって変更する
(関数)
ファイルシステムの利用可能な空き容量を判定する
(関数)
ファイル属性を決定する
シンボリックリンクのターゲットをチェックしてファイル属性を決定する
(function)
一時ファイルに適したディレクトリを返す
(関数)
ファイルタイプ
指定されたパスがブロックデバイスを参照しているかどうかをチェックする
(関数)
指定されたパスがキャラクターデバイスを参照しているかどうかをチェックします
(関数)
指定されたパスがディレクトリを参照しているかどうかをチェックします
(関数)
指定されたパスが空のファイルまたはディレクトリを参照しているかどうかをチェックします
(関数)
指定されたパスが名前付きパイプを参照しているかどうかをチェックします
(関数)
引数が その他 のファイルを参照しているかどうかをチェックする
(関数)
引数が通常ファイルを参照しているかどうかをチェックします
(関数)
引数が名前付きIPCソケットを参照しているかどうかをチェックします
(関数)
引数がシンボリックリンクを参照しているかどうかをチェックする
(関数)
ファイルステータスが既知かどうかをチェックする
(関数)

関連項目

C++ documentation for Filesystem library (C++17)
日本語訳:
C++ documentation for Filesystem library (C++17)
翻訳結果: - "C++ documentation" → 「C++ ドキュメント」 - "Filesystem library" → 「ファイルシステムライブラリ」 - "(C++17)" はそのまま保持 - HTMLタグ、属性、コード関連の要素はすべて保持