Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::filesystem::last_write_time

      From cppreference.com
      <cpp‎ |filesystem
       
       
      Filesystem library
      Classes
      Functions
      File types
       
      Defined in header<filesystem>
      (1)(since C++17)
      std::filesystem::file_time_type last_write_time(conststd::filesystem::path& p,
                                                       std::error_code& ec)noexcept;
      (2)(since C++17)
      void last_write_time(conststd::filesystem::path& p,
                           std::filesystem::file_time_type new_time);
      (3)(since C++17)
      void last_write_time(conststd::filesystem::path& p,

                           std::filesystem::file_time_type new_time,

                           std::error_code& ec)noexcept;
      (4)(since C++17)
      1,2) Returns the time of the last modification ofp, determined as if by accessing the memberst_mtime of the POSIXstat (symlinks are followed).The non-throwing overload returnsfile_time_type::min() on errors.
      3,4) Changes the time of the last modification ofp, as if by POSIXfutimens (symlinks are followed).

      Contents

      [edit]Parameters

      p - path to examine or modify
      new_time - new modification time
      ec - out-parameter for error reporting in the non-throwing overload

      [edit]Return value

      1,2) The time of the last modification ofp.
      3,4) (none)

      [edit]Exceptions

      Any overload not markednoexcept may throwstd::bad_alloc if memory allocation fails.

      1,3) Throwsstd::filesystem::filesystem_error on underlying OS API errors, constructed withp as the first path argument and the OS error code as the error code argument.
      2,4) Sets astd::error_code& parameter to the OS API error code if an OS API call fails, and executesec.clear() if no errors occur.

      [edit]Notes

      It is not guaranteed that immediately after setting the write time, the value returned by(1,2) is the same as what was passed as the argument to(3,4) because the file system's time may be more granular thanfilesystem::file_time_type.

      [edit]Example

      Run this code
      #include <chrono>#include <filesystem>#include <format>#include <fstream>#include <iostream> usingnamespace std::chrono_literals; int main(){auto p=std::filesystem::temp_directory_path()/"example.bin";std::ofstream{p.c_str()}.put('a');// create file std::filesystem::file_time_type ftime= std::filesystem::last_write_time(p);std::cout<<std::format("File write time is {}\n", ftime); // move file write time 1 hour to the future    std::filesystem::last_write_time(p, ftime+ 1h); // read back from the filesystem    ftime= std::filesystem::last_write_time(p);std::cout<<std::format("File write time is {}\n", ftime); std::filesystem::remove(p);}

      Possible output:

      File write time is 2023-09-04 19:33:24.702639224File write time is 2023-09-04 20:33:24.702639224

      [edit]See also

      represents file time values
      (typedef)[edit]
      gets the time of the last data modification of the file to which the directory entry refers
      (public member function ofstd::filesystem::directory_entry)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/filesystem/last_write_time&oldid=158973"

      [8]ページ先頭

      ©2009-2025 Movatter.jp