# std::filesystem::space_info

< cpp‎ | filesystem

定义于头文件 `<filesystem>` |  |
struct space_info { std::uintmax_t capacity; std::uintmax_t free; std::uintmax_t available; }; |  | (C++17 起)

代表以 `space` 确定的文件系统信息。

### 成员对象

capacity | 文件系统的总大小，以字节计 (公开成员对象)
free | 文件系统的空闲空间，以字节计 (公开成员对象)
available | 非特权进程可用的空闲空间（可以小于或等于 `free` ） (公开成员对象)

### 非成员函数

operator== (C++20) | 比较二个 `space_info` (函数)

## operator==(std::filesystem::space_info)

friend bool operator==( const space_info&, const space_info& ) = default; |  | (C++20 起)

检查两个参数的 `capacity` 、 `free` 及 `available` 是否分别相等。

此函数对通常无限定或有限定查找不可见，而只能在 `std::filesystem::space_info` 为参数的关联类时由实参依赖查找找到。

`!=` 运算符从 `operator==` 合成。

### 示例

    #include <iostream>
    #include <filesystem>
    namespace fs = std::filesystem;
    int main()
    {
        fs::space_info devi = fs::space("/dev/null");
        fs::space_info tmpi = fs::space("/tmp");

        std::cout << ".        Capacity       Free      Available\n"
                  << "/dev:   " << devi.capacity << "   "
                  << devi.free << "   " << devi.available  << '\n'
                  << "/tmp: " << tmpi.capacity << " "
                  << tmpi.free << " " << tmpi.available  << '\n';
    }

可能的输出：

    .         Capacity       Free      Available
    /dev:   4175114240   4175110144   4175110144
    /tmp: 420651237376 411962273792 390570749952

### 参阅

space (C++17) | 确定文件系统上的可用空闲空间 (函数)