Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::experimental::filesystem::space

      From cppreference.com
      <cpp‎ |experimental‎ |fs
       
       
       
      Filesystem library
      Classes
      Functions
      File types
       
      Defined in header<experimental/filesystem>
      space_info space(const path& p);
      space_info space(const path& p, error_code& ec)noexcept;
      (filesystem TS)

      Determines the information about the filesystem on which the pathnamep is located, as if by POSIXstatvfs.

      Populates and returns an object of typespace_info, set from the members of the POSIXstruct statvfs as follows:

      • space_info.capacity is set as if byf_blocks* f_frsize.
      • space_info.free is set tof_bfree* f_frsize.
      • space_info.available is set tof_bavail* f_frsize.
      • Any member that could not be determined is set tostatic_cast<std::uintmax_t>(-1).

      The non-throwing overload sets all members tostatic_cast<std::uintmax_t>(-1) on error.

      Contents

      [edit]Parameters

      p - path to examine
      ec - out-parameter for error reporting in the non-throwing overload

      [edit]Return value

      The filesystem information (aspace_info object).

      [edit]Exceptions

      The overload that does not take anerror_code& parameter throwsfilesystem_error on underlying OS API errors, constructed withp as the first argument and the OS error code as the error code argument.std::bad_alloc may be thrown if memory allocation fails. The overload taking anerror_code& parameter sets it to the OS API error code if an OS API call fails, and executesec.clear() if no errors occur. This overload has
      noexcept specification:  
      noexcept
        

      [edit]Notes

      space_info.available may be less thanspace_info.free.

      [edit]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 390570749952

      [edit]See also

      information about free and available space on the filesystem
      (class)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/fs/space&oldid=154944"

      [8]ページ先頭

      ©2009-2025 Movatter.jp