#include<stdio.h>
#include <time.h>
#include <unistd.h>
time_t lastsub(FILE *fp);
int main(int argc, const char *argv[])
{
FILE *fp = fopen("./homework","a+");
if(NULL == fp)
{
perror("fopen");
return -1;
}
time_t eversub = lastsub(fp);//上次的序号
time_t t;
time_t low = time(&t);//起始时间
struct tm *res = NULL;
while(1)
{
time_t high = time(&t);//当前时间 :序号=当前时间-起始时间+上次的序号+1
res = localtime(&t);
fprintf(fp,"[%ld] %04d年%02d月%02d日%02d时%02d分%02d秒\n",high-low+1+eversub,\
res->tm_year+1900,res->tm_mon+1,res->tm_mday,\
res->tm_hour,res->tm_min,res->tm_sec);
printf("[%ld] %04d年%02d月%02d日%02d时%02d分%02d秒\n",high-low+1+eversub,\
res->tm_year+1900,res->tm_mon+1,res->tm_mday,\
res->tm_hour,res->tm_min,res->tm_sec);
fflush(fp);
sleep(1);
}
fclose(fp);
return 0;
}
//每次输入都以\n结尾,不需要考虑额外情况
time_t lastsub(FILE *fp)
{
time_t res = 0;
char c;
while(1)
{
c=fgetc(fp);
if(EOF == c)
{
break;
}
else if('\n'==c)
res++;
}
return res;
}
day2--标准IO
于 2023-02-22 19:28:46 首次发布