C 定期将数据写入文件
我用C编写了这段代码,以便定期将数据写入文本文件,但我的程序不会定期写入;它无需等待即可完全写入文件。我希望它将数据写入文件,等待2秒钟,然后写入下一行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
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!感谢您指出这一点。WindowsSleep
需要#include
notunistd.h
忘了添加这一点。:)谢谢,它确实解决了我的问题:)。可能需要添加所需的#include
s.Added@ColonelThirtyTwo!感谢您指出这一点。WindowsSleep
需要#include
notunistd.h
忘了添加这一点。:)谢谢,它确实解决了我的问题:)。这段代码中的什么让你认为它会等待任何特定的时间?这段代码中的什么让你认为它会等待任何特定的时间?