我正在创建一个日程安排软件,我有数百个数据集在文本文件中描述。我使用dirent.h和一个循环来读取文本文件,我为每个文件制定了一个时间表,并将结果附加到另一个文本文件中(如cpu时间、数据集名称、延迟...),这个文件对所有时间表都是通用的。
我只打开/关闭结果文件一次(循环之前的fopen(),循环完成后的fclose() )。
我在Windows 7上没有问题,但是在linux下,由于某种超时,文件似乎被系统关闭了,我只有9-10个数据集被安排(~ 2小时),在它被卡住之后,因为它不能写入结果文件:/
有没有人已经有了这样的麻烦,并找到了解决方案?
发布于 2014-12-07 21:13:58
Linux不会自动关闭该文件。您的代码中存在错误。
尝试使用"strace“运行您的程序,并确定close()发生的位置。
strace -f -o 1.txt ./my_best_app_ever使用文本编辑器(或less)打开1.txt文件,查看您的应用程序正在执行的操作。
https://stackoverflow.com/questions/27342921
复制相似问题