最終更新日時(UTC):
が更新

履歴 編集

<filesystem>

filesystem(C++17)

<filesystem>ヘッダは、OSのファイルシステムを操作するAPIを提供する。

このライブラリでは、ファイル、ディレクトリ、シンボリックリンクなどを操作する。また、それらを総称してエンティティと呼ぶ。

このヘッダでは、以下の標準ヘッダをインクルードする:

パス

名前 説明 対応バージョン
path ファイルシステムのパスを扱うクラス (class) C++17
filesystem_error ファイルシステム操作で起きたエラーを表す例外クラス (class) C++17
directory_entry ディレクトリ内の要素を表すクラス (class) C++17
directory_iterator ディレクトリ内を走査するイテレータクラス (class) C++17
recursive_directory_iterator ディレクトリ内を再帰的に走査するイテレータクラス (class) C++17

ファイルシステム情報

名前 説明 対応バージョン
file_status ファイル状態を表すクラス (class) C++17
space_info 指定されたパスの容量を表すクラス (class) C++17
file_type ファイル種別を表す列挙型 (enum) C++17
perms 権限を表す列挙型 (enum) C++17
perm_options 権限オプションを表す列挙型 (enum) C++17
copy_options コピーオプションを表す列挙型 (enum) C++17
directory_options ディレクトリオプションを表す列挙型 (enum) C++17
file_time_type ファイル情報で使用する時間の型 (type alias) C++17

ファイルシステム操作

パス操作

名前 説明 対応バージョン
current_path 現在の作業ディレクトリを取得・設定する (function) C++17
temp_directory_path 一時ファイル用ディレクトリのパスを取得する (function) C++17
absolute パスを絶対パスに変換する (function) C++17
canonical パスを正規化する (function) C++17
weakly_canonical canonicalよりも弱い要件でパスを正規化する (function) C++17
read_symlink シンボリックリンクが指すパスを取得する (function) C++17
relative パスを現在の作業ディレクトリからの相対パスに変換する (function) C++17
proximate パスを現在の作業ディレクトリからの相対パスに変換する (function) C++17

エンティティ操作

名前 説明 対応バージョン
copy コピーする (function) C++17
copy_file ファイルをコピーする (function) C++17
copy_symlink シンボリックリンクをコピーする (function) C++17
create_directory ディレクトリを作成する (function) C++17
create_directories ディレクトリ階層を作成する (function) C++17
create_directory_symlink ディレクトリに対するシンボリックリンクを作成する (function) C++17
create_hard_link ハードリンクを作成する (function) C++17
create_symlink シンボリックリンクを作成する (function) C++17
permissions 権限を設定する (function) C++17
remove ファイル・ディレクトリを削除する (function) C++17
remove_all 再帰的にファイル・ディレクトリを削除する (function) C++17
rename ファイル・ディレクトリを名称変更・移動する (function) C++17
resize_file ファイルサイズを変更する (function) C++17

エンティティ情報

名前 説明 対応バージョン
exists ファイルが存在するか確認する (function) C++17
equivalent 2つのエンティティが等価かを確認する (function) C++17
file_size ファイルサイズを取得する (function) C++17
hard_link_count ハードリンク数を取得する (function) C++17
is_regular_file 指定されたパスが通常ファイルを指しているかを確認する (function) C++17
is_directory 指定されたパスがディレクトリを指しているかを確認する (function) C++17
is_symlink 指定されたパスがシンボリックリンクを指しているかを確認する (function) C++17
is_block_file 指定されたパスがブロックデバイスのスペシャルファイルを指しているかを確認する (function) C++17
is_character_file 指定されたパスがキャラクタデバイスのスペシャルファイルを指しているかを確認する (function) C++17
is_fifo 指定されたパスがFIFOもしくはパイプを指しているかを確認する (function) C++17
is_socket 指定されたパスがソケットを指しているかを確認する (function) C++17
is_other 指定されたパスが存在していない、もしくはシステム依存の種別のファイルを指しているかを確認する (function) C++17
is_empty 指定されたパスが空のファイル・ディレクトリかを確認する (function) C++17
last_write_time エンティティの最終更新日を取得・更新する (function) C++17
space 指定されたパスの残り容量を取得する (function) C++17
status ファイル状態を取得する (function) C++17
symlink_status シンボリックリンクの状態を取得する (function) C++17
status_known ファイルが既知の状態かを確認する (function) C++17

バージョン

言語

  • C++17

備考

  • いくつかの処理系バージョンでは、ファイルシステムライブラリを別途リンクする必要がある
    • GCC 8.1では、リンクオプションとして-lstdc++fsが必要
    • Clang 7.0では、リンクオプションとして-lc++fsが必要

参照