更多资料请点击:我的目录
本篇仅用于记录自己所学知识及应用,代码仍可优化,仅供参考,如果发现有错误的地方,尽管留言于我,谢谢。
输出结果:
中断后重新开始:
#include <time.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc, char **argv)
{
FILE *fp = fopen("time.txt","a+");//a+以读写方式打开或创建文件
setvbuf(fp, NULL, _IONBF, 0); //设置缓冲区方式,设置为无缓冲
int n = 0;
char s[100]; //自定义缓冲区大小
while(1)//此循环用于读取文件中原来数据的行数
{
if(fgets(s, 100, fp) ==NULL)//fgets读取最多一行数据
break;
n++;
}
while(1)//次循环用于将新数据追加在原有数据后
{
time_t t = time(NULL); //获取时间
n ++;
fprintf(fp, "%d %s", n, ctime(&t));//将格式化数据写入指定的文件或者内存
printf("%d %s", n, ctime(&t));//在终端打印输出
sleep(1);//设置间隔时间为1秒
}
return 0;
}
更多资料请点击:我的目录