ファイルシステムライブラリ
From cppreference.com
< cpp | experimental
Filesystemライブラリ (ISO/IEC TS 18822:2015) は、ファイルシステムおよびそのコンポーネント(パス、通常ファイル、ディレクトリなど)に対する操作を実行するための機能を提供します。
このライブラリはオプションの技術仕様であり、階層型ファイルシステムが実装からアクセスできない場合、または必要な機能を提供しない場合は利用できないことがあります。基盤となるファイルシステムでサポートされていない機能(例:FATファイルシステムにはハードリンク、ソフトリンク、その他の機能がない)は利用できない場合があります。
このライブラリの関数呼び出しが「ファイルシステム競合」(つまり、複数のスレッド、プロセス、またはコンピュータがファイルシステム内の同じオブジェクトへのアクセスと変更をインターリーブする)を引き起こす場合、その動作は未定義です。
このライブラリは、この実験的な技術仕様よりも多くのコンパイラやプラットフォームで現在利用可能なboost.filesystemに直接基づいています。
目次 |
[編集] ライブラリ全体での定義
- ファイル: データを保持し、書き込み、読み取り、またはその両方が可能なファイルシステムオブジェクト。ファイルには名前と属性があり、そのうちの1つがファイルタイプです。
- ディレクトリ: ディレクトリのエントリ(他のファイル(その中には他のネストされたディレクトリも含まれる)を識別する)を格納するファイル。特定のファイルについて議論する場合、そのファイルがエントリとして現れるディレクトリは親ディレクトリです。親ディレクトリは相対パス名".."で表すことができます。
- ハードリンク: 既存のファイルに名前を関連付けるディレクトリエントリ。複数のハードリンクがサポートされている場合、ファイルはそれへの最後のハードリンクが削除された後に削除されます。
- シンボリックリンク: 名前をパスに関連付けるディレクトリエントリで、そのパスは存在する場合も存在しない場合もあります。
- 通常ファイル: 他のファイルタイプではないファイル。
- ファイル名: ファイルに名前を付ける文字列。許可される文字、大文字・小文字の区別、最大長、および禁止される名前は実装定義です。. (ドット) および .. (ドットドット) という名前はライブラリレベルで特別な意味を持ちます。
- パス: ファイルを識別する要素のシーケンス。オプションのルート名(例:"C:"または"//server")で始まり、オプションのルートディレクトリ(例:Unixの"/")が続き、ゼロ個以上のファイル名(最後の1つを除くすべてがディレクトリまたはディレクトリへのリンクである必要があります)のシーケンスが続きます。パスの文字列表現(パス名)のネイティブフォーマット(例:区切り文字として使用される文字)と文字エンコーディングは実装定義であり、このライブラリはパスの移植可能な表現を提供します。
- 絶対パス: ファイルの位置を一意に識別するパス。
- 正規パス: シンボリックリンク、"."または".."要素を含まない絶対パス。
- 相対パス: ファイルシステム上の何らかの場所に対するファイルを識別するパス。特殊なパス名. (ドット、「現在のディレクトリ」) と .. (ドットドット、「親ディレクトリ」) は相対パスです。
[編集] クラス
| パスを表現する (クラス) | |
| ファイルシステムエラーでスローされる例外 (クラス) | |
| ディレクトリエントリ (クラス) | |
| ディレクトリの内容を指すイテレータ (クラス) | |
| ディレクトリとそのサブディレクトリの内容を指すイテレータ (クラス) | |
| ファイルの種別とパーミッションを表現する (クラス) | |
| ファイルシステムの空き容量と利用可能容量に関する情報 (クラス) | |
| ファイルの種別 (列挙型) | |
| ファイルシステムのパーミッションを識別する (列挙型) | |
| コピー操作のセマンティクスを指定する (列挙型) | |
| ディレクトリの内容をイテレートするためのオプション (列挙型) | |
| ファイルの時刻値を表現する (typedef) |
[編集] 非メンバ関数
| 絶対パスを構成する OS固有の動作を複製してパスを絶対パスに変換します (関数) | |
| 正規パスを構成する (関数) | |
| ファイルまたはディレクトリをコピーする (関数) | |
| ファイルの内容をコピーする (関数) | |
| シンボリックリンクをコピーする (関数) | |
| 新しいディレクトリを作成する (関数) | |
| ハードリンクを作成する (関数) | |
| シンボリックリンクを作成する (関数) | |
| 現在の作業ディレクトリを返します (関数) | |
| パスが既存のファイルシステムオブジェクトを参照しているか確認する (関数) | |
| 2つのパスが同じファイルシステムオブジェクトを参照しているか確認する (関数) | |
| ファイルのサイズを返す (関数) | |
| 特定のファイルを参照しているハードリンクの数を返す (関数) | |
| 最終データ変更日時を取得または設定する (関数) | |
| ファイルのアクセスパーミッションを変更する (関数) | |
| シンボリックリンクのターゲットを取得する (関数) | |
| ファイルまたは空のディレクトリを削除する ファイルまたはディレクトリとその内容をすべて再帰的に削除する (関数) | |
| ファイルまたはディレクトリを移動または名前変更する (関数) | |
| 通常ファイルのサイズを切り詰めまたはゼロ埋めで変更する (関数) | |
| ファイルシステム上の利用可能な空き容量を決定する (関数) | |
| ファイルの属性を決定する シンボリックリンクのターゲットを確認してファイルの属性を決定する (関数) | |
| 一時ファイルに適したディレクトリを返す (関数) | |
ファイル種別 | |
| 指定されたパスがブロックデバイスを参照しているか確認する (関数) | |
| 指定されたパスがキャラクタデバイスを参照しているか確認する (関数) | |
| 指定されたパスがディレクトリを参照しているか確認する (関数) | |
| 指定されたパスが空のファイルまたはディレクトリを参照しているか確認する (関数) | |
| 指定されたパスが名前付きパイプを参照しているか確認する (関数) | |
| 引数がその他のファイルを参照しているか確認する (関数) | |
| 引数が通常ファイルを参照しているか確認する (関数) | |
| 引数が名前付きIPCソケットを参照しているか確認する (関数) | |
| 引数がシンボリックリンクを参照しているか確認する (関数) | |
| ファイルステータスが既知かどうかを確認する (関数) | |
[編集] 関連項目
| C++ドキュメント ( ファイルシステムライブラリ (C++17) )
|