C專家編程之編譯器日期被破壞程式

來源:互聯網
上載者:User

標籤:使用   io   ar   amp   size   file   har   c   

#include<stdio.h>#include<time.h>#include<stdlib.h>#include<sys/stat.h>#define CHOICE 2#define FILEPATH "/root/date.c"char global_buffer[120];//NO.1 使用全域聲明的數組#if CHOICE == 1char *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 == 2char *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;}#endifint main(){char *s = FILEPATH;#if CHOICE == 1//char *ptr = (char *) malloc(120);char *p = local_time(s);printf("%s\n",p);#elif CHOICE == 2char *p = local_time(s);printf("%s\n",p);//free(p);#elsechar *p = local_time(s);printf("%s\n",p);#endif}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.