码迷,mamicode.com
首页 > 其他好文 > 详细

输出日志(一)

时间:2019-07-03 20:11:16      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:include   end   string   print   printf   头文件   color   day   日志   

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
//#include<windows.h>
#include <unistd.h> // linux下头文件

#define FILE_MAX_SIZE (1024*1024)

void get_local_time(char* buffer){
    time_t rawtime;
    struct tm* timeinfo;
    time(&rawtime);
    timeinfo = localtime(&rawtime);
    sprintf(buffer,"%04d-%02d-%02d %02d:%02d:%02d",
            (timeinfo->tm_year+1900),timeinfo->tm_mon,
            timeinfo->tm_mday,timeinfo->tm_hour,
            timeinfo->tm_min,timeinfo->tm_sec);
}

long get_file_size(char* filename){
    long length = 0;
    FILE* fp = NULL;
    fp = fopen(filename,"rb");
    if(fp != NULL){
        fseek(fp,0,SEEK_END);
        length = ftell(fp);
    }
    if(fp != NULL){
        fclose(fp);
        fp = NULL;
    }
    return length;
}

void write_log_file(char* filename,long max_size,char* buffer,unsigned buf_size){
    if(filename != NULL && buffer != NULL ){
        long length = get_file_size(filename);
        if(length > max_size){
            unlink(filename);
        }
        {
            FILE* fp;
            fp = fopen(filename,"at+");
            if(fp != NULL){
                char now[32];
                memset(now,0,sizeof(now));
                get_local_time(now);
                fwrite(now,strlen(now)+1,1,fp);
                fwrite(buffer,buf_size,1,fp);
                fclose(fp);
                fp = NULL;
            }
        }
    }
}

int main(int argc,char** argv){
    for(int i = 0; i < 10; ++i){
        char buffer[32];
        memset(buffer,0,sizeof(buffer));
        sprintf(buffer,"====>%d\n",i);
          write_log_file("log.txt",FILE_MAX_SIZE,buffer,strlen(buffer));
        sleep(1);
        //Sleep(100);
    }
    return 0;
}

未完待续

输出日志(一)

标签:include   end   string   print   printf   头文件   color   day   日志   

原文地址:https://www.cnblogs.com/wanghao-boke/p/11128492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!