Вопрос

Мне нужно изменить «созданные» (если существует), «модифицированные» и «доступные» временные метки файла. В идеале это будет независимое платформу решение.

Я оглянулся вокруг библиотек Boost, но не вижу ничего актуального. Ближайший я нашел что-то отношение это для окон.

Может кто-нибудь помочь? Спасибо.

Это было полезно?

Решение

Я никогда не использовал их, но я думаю, что вы ищете функции атрибута:
http://www.boost.org/doc/libs/1_44_0/libs/filesystem/v2/doc/reference.html#attribute-functions.

Есть также функции для последней модификации:

template <class Path> std::time_t last_write_time(const Path& p);
template <class Path> void last_write_time(const Path& p, const std::time_t new_time);

Другие советы

Другая, немного более простым кодовым фрагментом для Windows.

Использовать utime функция и utimbuf распределять Метод доступен в Windows, но называется ведущим подчеркиванием как _utime.

Обновлять: utime только позволяет вам изменить доступ а также модификация раз (через utimbufС. actime а также modtime поля). Это, скорее всего, потому что многие файловые системы в стиле Unix не записывают творчество Время где угодно.

Не все популярные файловые системы поддерживают «созданные» и «доступные» метки времени: http://en.wikipedia.org/wiki/comparison_of_file_systems#метаданные

Windows FileSystems делают, но не может быть неплохой идеей, чтобы зависеть от них сейчас, если вам нужна портативность. Глядя на этот стол, у меня сложилось впечатление, что есть тенденция, чтобы добавить их в новее файловые системы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top