2.22 作业

该C程序打开并追加到time.txt文件,按照指定格式不断写入当前时间戳,每行增加序号,按Ctrl+C退出后,重启程序能继续从上次的序号写入,并添加新的时间记录。
摘要由CSDN通过智能技术生成

要求创建一个time.txt,存储内容格式如下:

[1]2022-07-28 17:15:06

[2]2022-07-28 17:15:07

[3] 2022-07-28 17:15:08

ctrl + c退出程序,过一会儿之后重新启动程序

[1]2022-07-28 17:15:06

[2]2022-07-28 17:15:07

[3]2022-07-28 17:15:08

[4]2022-07-28 17:16:31

[5]2022-07-28 17:16:32

#include <stdio.h>
#include <time.h>
#include <string.h>
#include <unistd.h>

int main(int argc, const char *argv[])
{
    FILE *fp=fopen("time.txt","a+");
    if(!fp)
    {
        perror("fopen");
        return -1;
    }

    int n=1;
    char buf[30];

    while(fgets(buf,sizeof(buf),fp))
    {
        if('\n'==buf[strlen(buf)-1])
            n++;
    }

    time_t t;
    struct tm *tmp;
    while(1)
    {
        time(&t);
        tmp=localtime(&t);

        fprintf(fp,"[%d] %d-%02d-%02d %02d:%02d:%02d\n",\
                n,tmp->tm_year+1900,tmp->tm_mon+1,tmp->tm_mday,\
                tmp->tm_hour,tmp->tm_min,tmp->tm_sec);
        fflush(fp);
        n++;
        sleep(1);
    }

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值