设为首页 加入收藏

TOP

C专家编程之编译器日期被破坏程序
2015-01-22 21:02:34 来源: 作者: 【 】 浏览:16
Tags:专家 编程 编译器 日期 破坏 程序
#include
  
   
#include
   
     #include
    
      #include
     
       #define CHOICE 2 #define FILEPATH "/root/date.c" char global_buffer[120]; //NO.1 使用全局声明的数组 #if CHOICE == 1 char *local_time(char* filename) { struct tm *tm_ptr; struct stat stat_block; stat(filename , &stat_block); tm_ptr = localtime(&stat_block.st_mtime); strftime(global_buffer, sizeof(global_buffer), "%a %b %e %T %Y",tm_ptr); printf("using global array!\n"); return global_buffer; } /* NO.2 显式分配一些内存,保存返回的值*/ #elif CHOICE == 2 char *local_time(char* filename) { struct tm *tm_ptr; struct stat stat_block; char *buffer = (char*)malloc(120); stat(filename , &stat_block); tm_ptr = localtime(&stat_block.st_mtime); strftime(buffer, 120, "%a %b %e %T %Y",tm_ptr); printf("using malloc memory!\n"); return buffer; } //No.3 使用静态数组 #else char *local_time(char* filename) { struct tm *tm_ptr; struct stat stat_block; static char buffer[120]; stat(filename , &stat_block); tm_ptr = localtime(&stat_block.st_mtime); strftime(buffer, sizeof(buffer), "%a %b %e %T %Y",tm_ptr); printf("using static array!\n"); return buffer; } #endif int main() { char *s = FILEPATH; #if CHOICE == 1 //char *ptr = (char *) malloc(120); char *p = local_time(s); printf("%s\n",p); #elif CHOICE == 2 char *p = local_time(s); printf("%s\n",p); //free(p); #else char *p = local_time(s); printf("%s\n",p); #endif } 
     
    
   
  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇c语言实现动态指针数组Dynamic ar.. 下一篇C和指针 (pointers on C)――第..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: