获取文件上次修改时间并进行比较

Fra*_*lin 6 c++ visual-c++

我想要一个函数,它将获取一个文件并持续多少天,如果它比那个日期更早,将返回0否则1 ...这样的东西......

例如:

int IsOlder(TCHAR *filename, int days)
{

do operation.

If last modify date was older than days variable
return 0
else
return 1

}
Run Code Online (Sandbox Code Playgroud)

这是适用于Windows的MS VC++ 6.谢谢你们!

Jul*_*n-L 13

Windows有一个名为GetFileTime()(MSDN上的doc)的API函数,在参数和3个FILETIME结构中使用文件句柄来填充日期时间信息:

FILETIME creationTime,
         lpLastAccessTime,
         lastWriteTime;
bool err = GetFileTime( h, &creationTime, &lpLastAccessTime, &lastWriteTime );
if( !err ) error
Run Code Online (Sandbox Code Playgroud)

FILETIME结构被混淆,使用该函数FileTimeToSystemTime()将其转换SYSTEMTIME为更易于使用的结构:

SYSTEMTIME systemTime;
bool res = FileTimeToSystemTime( &creationTime, &systemTime );
if( !res ) error
Run Code Online (Sandbox Code Playgroud)

然后你可以使用领域wYear,wMonth等你的天数比较.