定期将数据写入文件

时间:2016-03-26 16:16:18

标签: c

我已经用C编写了这段代码,定期将数据写入文本文件,但我的程序不会定期写入;它完全写入文件而无需等待。我希望它将数据写入文件,等待~2秒,然后写下一行。

for (i = 0; i < 8; i++)
{
    tm.hh = random() % 23;
    tm.mm = random() % 59;
    tm.ss = random() % 59;

    dt.dd = random() % 31;
    dt.mm = random() % 12;
    dt.yy = random() % 2020;
    if (dt.yy < 2020 && dt.yy > 2015)
    {
        while (dt.yy < 1900)
        {
            dt.yy = random() % 2020;
        }
    }

    val1 = random() % 100;
    val2 = random() % 100;

    fprintf(fp, "%d:%d:%d,%d/%d/%d,%d,%d,\n", tm.hh, tm.mm, tm.ss, dt.dd, dt.mm, dt.yy, val1, val2);
    id = fork();
    if (id == -1)
        printf("error in creating child process\n");
    else if (id == 0)
    {
        exit(0);
    }
    else
        wait(NULL);

}
fclose(fp);

1 个答案:

答案 0 :(得分:2)

您可以在写任何行之前使用sleep()函数。 编辑:你需要包括:

在Windows中

#include <windows.h>  
Sleep(<timeInMs>);

在Unix中

#include <unistd.h>
sleep(<timeInSeconds>);