程序要求:

(1)读写一个test.txt文件,每隔1秒往文件中写入一行时间日期数据;

1、 2012-8-7 1:2:3

....

(2)下次启动程序时能够追加到原文件之后,并且序号能够衔接上原先序号;

程序如下:

点击(此处)折叠或打开

  1. #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;
    }