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

编程读写一个文件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

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <errno.h>
 4 #include <stdlib.h>
 5 #include <time.h>
 6 
 7 void writefile()
 8 {
 9     FILE *fp;
10     time_t timep;
11     struct tm *p;
12     int n = 10;    
13 
14     while(1){
15 
16         if((fp = fopen("text.txt","aw")) == NULL){
17             perror("open file text.txt");
18             exit(1);
19         }    
20         time(&timep);
21         p = localtime(&timep);
22 
23         if(fprintf(fp,"%d-%d-%d %d:%d:%d\n",p->tm_year + 1900,p->tm_mon,p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec) < 0){
24             printf("error!\n");
25         }    
26     
27         fprintf(stdout,"%d-%d-%d %d:%d:%d\n",p->tm_year + 1900,p->tm_mon,p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec);    
28         fclose(fp);
29         sleep(1);
30     }
31 
32 }
33 
34 int main(int argc, char *argv[])
35 {
36     writefile();
37     return 0;
38 }

 

posted @ 2013-06-23 17:48  net小伙  阅读(1060)  评论(0编辑  收藏  举报