程序要求:
(1)读写一个test.txt文件,每隔1秒往文件中写入一行时间日期数据;
1、 2012-8-7 1:2:3
....
(2)下次启动程序时能够追加到原文件之后,并且序号能够衔接上原先序号;
程序如下:
点击(此处)折叠或打开
- #include #include #include #include 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; }