我编写了一个 C 程序来轮询目录中的文件,但在尝试访问该文件时有时会出错。我想知道我是否需要等待它完成复制或尝试使用它之前?我设置了一个循环来继续加载图像文件,直到该函数不再返回 null:
while ( (image = SDL_LoadBMP(path)) == NULL )
printf("image = NULL\n");
最终它不再为空。处理此问题的正确方法是什么?
最佳答案
处理此问题的最佳方法是在创建文件时将其保存在“不可见”目录中。关闭后将其移至假脱机目录。 (重命名()是原子的)。
当然,这假设实际生成文件的过程有一些合作。
顺便说一句:我假设这里是 UNIX。也许在其他平台上可以使用类似的方法。 (更改可见性/可读性文件属性,而不是重命名/移动)
关于c - 使用 C 在 Linux 中轮询新文件的目录 - 一旦它出现,我是否需要等到它可以使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9963854/