std::filesystem::space_info

来自cppreference.com
 
 
 
定义于头文件 <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 起)

检查两个参数的 capacityfreeavailable 是否分别相等。

此函数对通常无限定有限定查找不可见,而只能在 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

参阅

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