РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
508 of 815 menu

Функция last_write_time

Функция last_write_time возвращает время последней записи файла или каталога. В первом параметре мы передаем путь к файлу или каталогу, а во втором - необязательный объект ошибки std::error_code. Функция возвращает значение типа std::filesystem::file_time_type, которое представляет собой момент времени в специальном формате файловой системы.

Существует также перегрузка, которая позволяет установить новое время последней записи для файла. Для этого в функцию передается путь и новое значение времени.

Синтаксис

// получение времени последней записи file_time_type last_write_time(const path& p); file_time_type last_write_time(const path& p, error_code& ec); // установка времени последней записи 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);

Пример

Давайте получим время последней записи для текущего файла программы и выведем его в виде количества тактов с момента начала отсчета:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "test.txt"; fs::file_time_type ftime = fs::last_write_time(p); cout << ftime.time_since_epoch().count() << endl; return 0; }

Результат выполнения кода:

133456789012345678

Пример

Давайте установим новое время последней записи для файла, используя текущее системное время:

#include <iostream> #include <filesystem> #include <chrono> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "test.txt"; auto now = fs::file_time_type::clock::now(); fs::last_write_time(p, now); cout << "Time updated" << endl; return 0; }

Результат выполнения кода:

"Time updated"

Пример

Давайте проверим время последней записи с обработкой ошибок, используя объект error_code:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "nonexistent.txt"; error_code ec; fs::file_time_type ftime = fs::last_write_time(p, ec); if (ec) { cout << "Error: " << ec.message() << endl; } else { cout << ftime.time_since_epoch().count() << endl; } return 0; }

Результат выполнения кода:

"Error: No such file or directory"

Смотрите также

  • класс path,
    который представляет путь к файлу
  • функция file_size,
    которая возвращает размер файла
  • функция exists,
    которая проверяет существование файла
  • функция is_regular_file,
    которая проверяет, является ли файл обычным
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить