# std::filesystem::space_info

From cppreference.com
< cpp‎ | filesystem

Defined in header `<filesystem>` |  |
struct space_info { std::uintmax_t capacity; std::uintmax_t free; std::uintmax_t available; }; |  | (since C++17)

Represents the filesystem information as determined by space

The members have the following meaning:

- `capacity` -- total size of the filesystem, in bytes
- `free` -- free space on the filesystem, in bytes
- `available` -- free space available to a non-privileged process (may be equal or less than `free`)

### Example

Run this code

    #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';
    }

Possible output:

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

### See also

space (C++17) | determines available free space on the file system (function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/filesystem/space_info&oldid=105106"