my_log

时间:2021-04-17 18:18:14
//功能:定时向文件中写入时间,如果进程终止,下次打开同一个文件会继续之前的编号书写
#include<stdio.h>
#include<time.h>
int main(int argc, const char *argv[])
{
    //以追加的形式打开一个文件
    FILE* fp=fopen("./log","a+");
    //读取一行,取第一个数字,如果没有内容就从头计数
    int num=0;
    int ret = fseek(fp,-23,SEEK_END);
    if(-1!=ret){    //-1表示文件是空文件
        //获取最后的n值
        fscanf(fp,"%d\n",&num);
    }
    //读取当前系统时间
    struct tm* myTime;
    time_t sec;
    while(1){
        time(&sec);
        myTime=localtime(&sec);
        //编号 当前日期 时间
        fprintf(fp, "%d %d-%d-%d %02d:%02d:%02d\n",++num,myTime->tm_year+1900,myTime->tm_mon+1,myTime->tm_mday,myTime->tm_hour,myTime->tm_min,myTime->tm_sec);
        fflush(fp);
        sleep(1);
    }
    return 0;
}

相关文章