zoukankan      html  css  js  c++  java
  • 跨平台查询文件时间,如果超过7天,删除该文件(windows和linxu测试过)

    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.
    ", filename);
               break;
             case EINVAL:
               printf("Invalid parameter to _stat.
    ");
               break;
             default:
               /* Should never be reached. */
               printf("Unexpected error in _stat.
    ");
          }
       }
       else
       {
          // Output some of the statistics:
          printf( "File size     : %ld
    ", buf.st_size );
          printf( "Drive         : %c:
    ", 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 
    " ,filename);
          }
    
       }
    
    }
  • 相关阅读:
    MTK Android 源码目录分析
    MTK Android 平台语言支持状态
    开坑了啦啦啦..
    codeforces泛做..
    用介个新的blog咯..
    【UR #5】怎样跑得更快
    【UR #5】怎样提高智商
    【集训队互测2016】消失的源代码
    口胡
    [八省联考2018]劈配
  • 原文地址:https://www.cnblogs.com/matthew-2013/p/4679705.html
Copyright © 2011-2022 走看看