HANDLE f = CreateFile(filepath,GENERIC_ALL,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
FILETIME create, access, write;
GetFileTime(f,&create,&access,&write);
std::cout << "debug " << std::endl;
SYSTEMTIME s;
FileTimeToSystemTime(&create,&s);
displayTime(s);
在此代码中,我正在尝试获取文件并显示其创建/上次访问/上次修改时间。所以我得到一个FILETIME并将其转换为SYSTEMTIME并显示它。
问题,该剧目中的所有文件都具有相同的日期:01/01/1601。 我知道在文件系统中,“timestamp”是从01/01/1601计算出来的,但我不明白我今天为我的测试创建的文件是从这一天开始的。
答案 0 :(得分:2)
参数OPEN_EXISTING表示仅打开现有文件。它不会创建文件,这解释了为什么修改时间是单元化的。
使用CREATE_ALWAYS或类似代码。
请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx