您的位置:首页 > 其它

【练习题】每隔1秒向文件中写入一行记录

2015-06-12 12:41 253 查看
编程读写一个文件test.txt,每隔1秒向文件中写入一行记录,类似于这样:

1 2009-7-30 15:16:42
2 2009-7-30 15:16:43
该程序应该无限循环,直到按Ctrl-C终止。下次再启动程序时在test.txt文件末尾追加记录,并且序号能够接续上次的序号,比如:

1 2009-7-30 15:16:42
2 2009-7-30 15:16:43
3 2009-7-30 15:19:02
4 2009-7-30 15:19:03
5 2009-7-30 15:19:04

程序:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <Windows.h>

int main(void)
{
	time_t nowtime;
	struct tm *local;
	FILE *fp;

	while(1)
	{
		fp = fopen("record.txt","a+");
		if(fp == NULL)
		{
			perror("open file record.txt");
			exit(1);
		}
		nowtime = time(NULL);
		local = localtime(&nowtime);

		if(fprintf(fp,"%d-%d-%d %d:%d:%d\n",local->tm_year+1900,local->tm_mon+1,local->tm_mday,local->tm_hour,
			local->tm_min,local->tm_sec) < 0)
		{
			printf("error\n");
		}
		fprintf(stdout,"%d-%d-%d %d:%d:%d\n",local->tm_year+1900,local->tm_mon+1,local->tm_mday,local->tm_hour,
			local->tm_min,local->tm_sec);
		fclose(fp);
		Sleep(1000); //1000毫秒
	}
	
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: