跨平台查询文件时间,如果超过7天,删除该文件(windows和linxu测试过)

时间:2024-10-23 23:07:32

windows调用的是_stat函数,linux调用的是stat函数。

#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <errno.h> int main( void )
{
int result;
char* filename = "putty.exe";
//errno_t err;
#ifdef WIN32
struct _stat buf;
result = _stat( filename, &buf );
#else
struct stat buf;
result = stat(filename, &buf);
#endif if( result != )
{
perror( "Problem getting information" );
switch (errno)
{
case ENOENT:
printf("File %s not found.\n", filename);
break;
case EINVAL:
printf("Invalid parameter to _stat.\n");
break;
default:
/* Should never be reached. */
printf("Unexpected error in _stat.\n");
}
}
else
{
// Output some of the statistics:
printf( "File size : %ld\n", buf.st_size );
printf( "Drive : %c:\n", buf.st_dev + 'A' ); time_t t;
tzset(); /*tzset()*/
t = time(NULL);
if((t - buf.st_mtime) > )//604800是7天的秒数,下面是删除超过7天的文件
{
remove(filename);
printf("remove file : %s \n" ,filename);
} } }