GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::filesystem::last_write_time(3) C++ Standard Libary std::filesystem::last_write_time(3)

std::filesystem::last_write_time - std::filesystem::last_write_time


Defined in header <filesystem>
std::filesystem::file_time_type last_write_time(const
std::filesystem::path& p);


std::filesystem::file_time_type last_write_time(const (1) (since C++17)
std::filesystem::path& p,


std::error_code& ec) noexcept;
void last_write_time(const std::filesystem::path& p,


std::filesystem::file_time_type new_time);
void last_write_time(const std::filesystem::path& p, (2) (since C++17)
std::filesystem::file_time_type new_time,


std::error_code& ec) noexcept;


1) Returns the time of the last modification of p, determined as if by accessing the
member st_mtime of the POSIX stat (symlinks are followed). The non-throwing overload
returns file_time_type::min() on errors.
2) Changes the time of the last modification of p, as if by POSIX futimens (symlinks
are followed).


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


1) The time of the last modification of p
2) (none)


The overload that does not take a std::error_code& parameter throws
filesystem::filesystem_error on underlying OS API errors, constructed with p as the
first path argument and the OS error code as the error code argument. The overload
taking a std::error_code& parameter sets it to the OS API error code if an OS API
call fails, and executes ec.clear() if no errors occur. Any overload not marked
noexcept may throw std::bad_alloc if memory allocation fails.


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

// Run this code


#include <chrono>
#include <filesystem>
#include <format>
#include <fstream>
#include <iostream>


using namespace 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);


std::filesystem::last_write_time(p, ftime + 1h); // move file write time 1 hour to the future
ftime = std::filesystem::last_write_time(p); // read back from the filesystem
std::cout << std::format("File write time is {}\n", ftime);


std::filesystem::remove(p);
}


File write time is Sun May 9 23:29:58 2021
File write time is Mon May 10 00:29:58 2021


file_time_type represents file time values
(C++17) (typedef)
gets or sets the time of the last data modification of the file to
last_write_time which the directory entry refers
(public member function of std::filesystem::directory_entry)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.