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) 
[edit] Example
Run this code
#include <iostream> #include <experimental/filesystem> 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
[edit] See also
|    determines available free space on the file system  (function)  |