std::experimental::filesystem::space_info

From cppreference.com
< cpp‎ | experimental‎ | fs
 
 
Experimental
Technical Specification
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
Experimental Non-TS
Pattern Matching
Linear Algebra
std::execution
Contracts
2D Graphics
 
 
Defined in header <experimental/filesystem>
struct space_info {

    uintmax_t capacity;
    uintmax_t free;
    uintmax_t available;

};
(filesystem TS)

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

#include <experimental/filesystem>
#include <iostream>
namespace fs = std::experimental::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

determines available free space on the file system
(function)