Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::experimental::filesystem::file_size

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

      Returns the size of the regular filep, determined as if by reading thest_size member of the structure obtained by POSIXstat (symlinks are followed).

      Attempting to determine the size of a directory (as well as any other file that is not a regular file or a symlink) is treated as an error.

      The non-throwing overload returns returns-1 on errors.

      Contents

      [edit]Parameters

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

      [edit]Return value

      The size of the file, in bytes.

      [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]Example

      Run this code
      #include <experimental/filesystem>#include <fstream>#include <iostream>namespace fs= std::experimental::filesystem; int main(){    fs::path p= fs::current_path()/"example.bin";std::ofstream(p).put('a');// create file of size 1std::cout<<"File size = "<< fs::file_size(p)<<'\n';    fs::remove(p); try{        fs::file_size("/dev");// attempt to get size of a directory}catch(fs::filesystem_error& e){std::cout<< e.what()<<'\n';}}

      Possible output:

      File size = 1filesystem error: cannot get file size: Is a directory [/dev]

      [edit]See also

      changes the size of a regular file by truncation or zero-fill
      (function)[edit]
      determines available free space on the file system
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/experimental/fs/file_size&oldid=158752"

      [8]ページ先頭

      ©2009-2025 Movatter.jp