| Technical Specification | ||||
| Filesystem library(filesystem TS) | ||||
| Library fundamentals(library fundamentals TS) | ||||
| Library fundamentals 2(library fundamentals TS v2) | ||||
| Library fundamentals 3(library fundamentals TS v3) | ||||
| Extensions for parallelism(parallelism TS) | ||||
| Extensions for parallelism 2(parallelism TS v2) | ||||
| Extensions for concurrency(concurrency TS) | ||||
| Extensions for concurrency 2(concurrency TS v2) | ||||
| Concepts(concepts TS) | ||||
| Ranges(ranges TS) | ||||
| Reflection(reflection TS) | ||||
| Mathematical special functions(special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
| Classes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| File types | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <experimental/filesystem> | ||
file_time_type last_write_time(const path& p); file_time_type last_write_time(const path& p, error_code& ec) | (1) | (filesystem TS) |
void last_write_time(const path& p, file_time_type new_time); void last_write_time(const path& p, file_time_type new_time, error_code& ec); | (2) | (filesystem TS) |
st_mtime of the POSIXstat (symlinks are followed).The non-throwing overload returnsfile_time_type::min() on errors.Contents |
| p | - | path to examine or modify |
| new_time | - | new modification time |
| ec | - | out-parameter for error reporting in the non-throwing overload |
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 thanfile_time_type.
#include <chrono>#include <experimental/filesystem>#include <fstream>#include <iomanip>#include <iostream>namespace fs= std::experimental::filesystem;usingnamespace std::chrono_literals; int main(){ fs::path p= fs::current_path()/"example.bin";std::ofstream(p.c_str()).put('a');// create fileauto ftime= fs::last_write_time(p); std::time_t cftime= decltype(ftime)::clock::to_time_t(ftime);// assuming system_clockstd::cout<<"File write time is "<<std::asctime(std::localtime(&cftime))<<'\n'; fs::last_write_time(p, ftime+ 1h);// move file write time 1 hour to the future ftime= fs::last_write_time(p);// read back from the filesystem cftime= decltype(ftime)::clock::to_time_t(ftime);std::cout<<"File write time is "<<std::asctime(std::localtime(&cftime))<<'\n'; fs::remove(p);}
Possible output:
File write time is Tue Mar 31 19:47:04 2015 File write time is Tue Mar 31 20:47:04 2015
| represents file time values (typedef)[edit] |