编辑后保留文件的旧时间戳

时间:2013-08-03 17:57:48

标签: c++ c winapi

更改后如何保留旧时间戳? 我需要在win32 api中执行此操作

hfile = CreateFileA(path, //stackoverflow wont allow me submit this unless i include source ugghh >_<
                GENERIC_READ|GENERIC_WRITE,
                FILE_SHARE_READ,
                NULL,
                OPEN_EXISTING,
                0,
                NULL);

2 个答案:

答案 0 :(得分:3)

你可以像这样在文件句柄上调用SetFileTime

FILETIME ft = { MAXDWORD, MAXDWORD };
SetFileTime(hFile, NULL, &ft, &ft);

这会阻止系统在写入文件时修改时间戳。

答案 1 :(得分:2)

您可以在编写文件之前调用GetFileTime,并在原始时间调用SetFileTime以恢复文件的先前时间戳。