编程读写一个文件test.txt,每隔1秒向文件中写入一行数据,类似这样:
1, 2007-7-30 15:16:42
2, 2007-7-30 15:16:43
该程序应该无限循环,直到按Ctrl+C中断程序。
再次启动程序写文件时可以追加到原文件之后,并且序号能够接续上次的序 号,比如:
1, 2007-7-30 15:16:42
2, 2007-7-30 15:16:43
3, 2007-7-30 15:19:02
4, 2007-7-30 15:19:03
5, 2007-7-30 15:19:04
#include <stdio.h>
#include <time.h>
#include <string.h>
int main(int argc, char const *argv[])
{
FILE *fp;
struct tm *tm_t;
time_t t;
int n = 0;
char ch[32] = {0};
fp = fopen("a.txt", "a+");
if (fp == NULL)
{
perror("fopem err");
return -1;
}
while (fgets(ch, 32, fp) != NULL)
{
if (ch[strlen(ch) - 1] == '\n')
{
n++;
}
}
while (1)
{
time(&t);
tm_t = localtime(&t);
fprintf(fp, "%d, %d-%d-%d %d:%d:%d\n", ++n, tm_t->tm_year + 1900, tm_t->tm_mon + 1, tm_t->tm_mday, tm_t->tm_hour, tm_t->tm_min, tm_t->tm_sec);
fflush(fp);
sleep(1);
}
return 0;
}