C ++ POSIX (или специфичный для Linux) и WIN32 требуют искусственного изменения даты создания файла - PullRequest
1 голос
/ 12 января 2011

Для начала: мой код зависит от Boost.

Мне нужно изменить даты создания файла, чтобы добавить ошибки в мои модульные тесты.

Существует ли переносимый способ, либо в STL,или стандартные библиотеки C ++, или boost (:: filesystem), чтобы сделать это?Если нет, то знает ли кто-нибудь о хорошей простой абстракции только для заголовков C ++ (или очень простой), которая дополнит то, что находится в boost / STL / STD?

Если нет, мне требуются заголовки / имена функций / структуры данных для искусственного изменения даты создания файла после его создания в Windows и Linux (или более универсальном переносимом решении для unix).

Любые указатели помогут.

1 Ответ

3 голосов
/ 12 января 2011

Решение POSIX будет utimes.

#include <sys/time.h>

int utimes(const char *filename, const struct timeval times[2]);

Решение win32 будет SetFileTime.

...