您的位置:首页 > 其它

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

2015-07-27 11:36 302 查看
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 != 0 )
{
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)//604800是7天的秒数,下面是删除超过7天的文件
{
remove(filename);
printf("remove file : %s \n" ,filename);
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: