用标准IO把本地时间写入文件

来源:互联网 发布:淘宝信誉评价表 编辑:程序博客网 时间:2024/06/06 05:21
#include<stdio.h>#include<stdlib.h>#include<time.h>#include<unistd.h>#define N 18//用标准IO把本地时间写入文件//fprintf#if 0struct tm {               int tm_sec;         /* seconds */               int tm_min;         /* minutes */               int tm_hour;        /* hours */               int tm_mday;        /* day of the month */               int tm_mon;         /* month */               int tm_year;        /* year */               int tm_wday;        /* day of the week */               int tm_yday;        /* day in the year */               int tm_isdst;       /* daylight saving time */           };#endifint main(int argc,char *argv[]){    FILE *fp;    int count = 0;    char buf[N];    time_t tm;//定义一个时间变量    struct tm *tp;    if(argc !=2) //判断输入参数        {            printf("usage %s <filename><write file>\n",argv[0]);            exit(1);        }    fp = fopen(argv[1],"a+");//写入的文件会被加入到文件尾        if(fp == NULL)        {            perror("cannot open file");            exit(1);        }    while (fgets(buf,N,fp) != NULL)    {        count++;    }    while(1)    {        time(&tm);//传指针,即地址        tp = localtime(&tm);        //printf("%d-%d-%d %d:%d:%d \n",tp->tm_year+1900,tp->tm_mon+1,tp->tm_mday,tp->tm_hour,tp->tm_min,tp->tm_sec);        //fwrite(tp,sizeof(struct tm),9,fp);        //fwrite(tp,sizeof(struct tm),9,stdout);        fprintf(fp, "%d,%d-%d-%d %d:%d:%d\n", ++count, tp->tm_year+1900, tp->tm_mon+1, \                        tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec);        printf("%d-%d-%d %d:%d:%d \n",tp->tm_year+1900,tp->tm_mon+1,tp->tm_mday,tp->tm_hour,tp->tm_min,tp->tm_sec);        fflush(fp);             sleep(1);    }    return 0;}