最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

class
<filesystem>

# std::filesystem::file_status(C++17)

    namespace std::filesystem {
      class file_status;
    }

## 概要

`std::filesystem::file_status`は、ファイル状態を表すクラスである。

## メンバ関数

### 構築・破棄

名前 | 説明 | 対応バージョン
--- | --- | ---
`(constructor)` | コンストラクタ | C++17
`~file_status();` | デストラクタ | C++17
`file_status& operator=(const file_status&) noexcept = default;` `file_status& operator=(file_status&&) noexcept = default;` | 代入演算子 | C++17

### 変更・観測

名前 | 説明 | 対応バージョン
--- | --- | ---
`type` | ファイル種別を設定・取得する | C++17
`permissions` | ファイルの権限を設定・取得する | C++17

### 比較演算子

名前 | 説明 | 対応バージョン
--- | --- | ---
`operator==` | 等値比較 | C++20
`friend bool operator!=(const file_status&, const file_status&);` | 非等値比較 (`==`により使用可能) | C++20

## 例

    #include <cassert>
    #include <filesystem>
    #include <fstream>

    namespace fs = std::filesystem;

    int main()
    {
      std::ofstream{"a.txt"};

      fs::file_status status = fs::status("a.txt");

      assert(status.type() == fs::file_type::regular);
      assert((status.permissions() & fs::perms::owner_write) == fs::perms::owner_write);
    }

### 出力

## バージョン

### 言語

- C++17

### 処理系

- Clang: 7.0 ✅
- GCC: 8.1 ✅
- Visual C++: