std::experimental::filesystem::space_info
From cppreference.com
                    
                                        
                    < cpp | experimental | fs
                    
                                                            
                    |   Defined in header  <experimental/filesystem>
  | 
||
|   struct space_info {     uintmax_t capacity;  | 
(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 thanfree) 
Example
Run this code
#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 390570749952See also
|   determines available free space on the file system  (function)  |