程序要求:
(1)读写一个test.txt文件,每隔1秒往文件中写入一行时间日期数据;
1、 2012-8-7 1:2:3
....
(2)下次启动程序时能够追加到原文件之后,并且序号能够衔接上原先序号;
程序如下:
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <time.h>
-
- int main(int argc, const char *argv[])
- {
- FILE *file;
- struct tm *t1;
- time_t t;
- char buf[100];
- int line = 1;
- int c;
-
- memset(buf, 0, sizeof(buf));
-
- if ((file = fopen("test.txt", "a+")) < 0)
- {
- perror("failed to open test.txt");
-
- exit(-1);
- }
-
- while ((c = getc(file)) != EOF) //计算行数,用于下次打开时能够衔接上之前的行数
- if (c == '\n')
- line++;
-
- while (1)
- {
- time(&t);
- t1 = localtime(&t); //获取当前世界
-
- sprintf(buf, "%d, %d-%d-%d %d:%d:%d\n", line++, t1->tm_year + 1900, t1->tm_mon + 1, t1->tm_mday, t1->tm_hour, t1->tm_min, t1->tm_sec);
- fwrite(buf, sizeof(char), strlen(buf), file);
- fflush(file);
-
- sleep(1);
- }
-
- return 0;
- }
阅读(503) | 评论(0) | 转发(0) |