Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 定期将数据写入文件_C - Fatal编程技术网

C 定期将数据写入文件

C 定期将数据写入文件,c,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.y

我用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);
(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;
如果(dt.yy<2020年和dt.yy>2015年)
{
而(dt.yy<1900)
{
dt.yy=random()%2020;
}
}
val1=随机()%100;
val2=随机()%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();
如果(id==-1)
printf(“创建子进程时出错”);
else if(id==0)
{
出口(0);
}
其他的
等待(空);
}
fclose(fp);
您可以在写任何行之前使用sleep()函数。 编辑:您需要包括:

在窗户里

#include <windows.h>  
Sleep(<timeInMs>);
#包括
睡眠();
在Unix中

#include <unistd.h>
sleep(<timeInSeconds>);
#包括
睡眠();
您可以在写任何行之前使用sleep()函数。 编辑:您需要包括:

在窗户里

#include <windows.h>  
Sleep(<timeInMs>);
#包括
睡眠();
在Unix中

#include <unistd.h>
sleep(<timeInSeconds>);
#包括
睡眠();

可能需要添加所需的
#include
s.Added@ColonelThirtyTwo!感谢您指出这一点。Windows
Sleep
需要
#include
not
unistd.h
忘了添加这一点。:)谢谢,它确实解决了我的问题:)。可能需要添加所需的
#include
s.Added@ColonelThirtyTwo!感谢您指出这一点。Windows
Sleep
需要
#include
not
unistd.h
忘了添加这一点。:)谢谢,它确实解决了我的问题:)。这段代码中的什么让你认为它会等待任何特定的时间?这段代码中的什么让你认为它会等待任何特定的时间?