std::filesystem:: last_write_time
|
Definiert in Header
<filesystem>
|
||
|
std::
filesystem
::
file_time_type
last_write_time
(
const
std::
filesystem
::
path
&
p
)
;
|
(1) | (seit C++17) |
|
std::
filesystem
::
file_time_type
last_write_time
(
const
std::
filesystem
::
path
&
p,
std:: error_code & ec ) noexcept ; |
(2) | (seit C++17) |
|
void
last_write_time
(
const
std::
filesystem
::
path
&
p,
std:: filesystem :: file_time_type new_time ) ; |
(3) | (seit C++17) |
|
void
last_write_time
(
const
std::
filesystem
::
path
&
p,
std::
filesystem
::
file_time_type
new_time,
|
(4) | (seit C++17) |
st_mtime
des POSIX
stat
(Symlinks werden verfolgt).
Die nicht-werfende Überladung gibt
file_time_type
::
min
(
)
bei Fehlern zurück.
futimens
(Symlinks werden verfolgt).
Inhaltsverzeichnis |
Parameter
| p | - | zu untersuchender oder zu modifizierender Pfad |
| new_time | - | neue Änderungszeit |
| ec | - | Out-Parameter für Fehlerberichterstattung in der nicht-werfenden Überladung |
Rückgabewert
Exceptions
Jede Überladung, die nicht als
noexcept
gekennzeichnet ist, kann
std::bad_alloc
auslösen, wenn die Speicherallokation fehlschlägt.
Hinweise
Es ist nicht garantiert, dass unmittelbar nach dem Setzen der Schreibzeit der von (1,2) zurückgegebene Wert derselbe ist wie der, der als Argument an (3,4) übergeben wurde, da die Zeitgranularität des Dateisystems feiner sein kann als filesystem::file_time_type .
Beispiel
#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'); // Datei erstellen std::filesystem::file_time_type ftime = std::filesystem::last_write_time(p); std::cout << std::format("File write time is {}\n", ftime); // Schreibezeit der Datei um 1 Stunde in die Zukunft verschieben std::filesystem::last_write_time(p, ftime + 1h); // Erneut aus dem Dateisystem auslesen ftime = std::filesystem::last_write_time(p); std::cout << std::format("File write time is {}\n", ftime); std::filesystem::remove(p); }
Mögliche Ausgabe:
File write time is 2023-09-04 19:33:24.702639224 File write time is 2023-09-04 20:33:24.702639224
Siehe auch
|
(C++17)
|
repräsentiert Dateizeitwerte
(typedef) |
|
ruft den Zeitpunkt der letzten Datenänderung der Datei ab, auf die der Verzeichniseintrag verweist
(öffentliche Memberfunktion von
std::filesystem::directory_entry
)
|