我有一个父进程和一个子进程(使用fork创建子进程)一些在父进程中定义此代码的位置:
FILE* pfile = fopen("log.txt","w");
while (1) {
serve child requests
fprintf (pfile,"some data\n");
}
fclose (pfile);
Run Code Online (Sandbox Code Playgroud)
问题是代码的最后一行永远不会被执行,因为无限循环不会终止(这是程序应该如何操作)..所以文件永远不会被关闭,连续写入的数据不会被保存到文件中.
我怎么解决这个问题 ?
任何帮助将不胜感激,谢谢
缓冲区已满时保存数据.在此期间,您还可以强制文件提交fflush()- 当app或while循环终止时,文件本身将物理关闭.
FILE* pfile = fopen("log.txt","w");
while (1)
{
serve child requests
fprintf (pfile,"some data\n");
fflush(pfile);
}
fclose (pfile);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |