我有一个程序基本上可以做到这一点

while(1)
  FindFirstFile()
  if file found
    CreateFile()
    DeleteFile()

但是,有时createfile会报告找不到错误文件,即使findfirstfile找到了文件!deletefile是否保证文件返回后不会显示在目录列表中?

最佳答案

您可能遇到了Raymond Chen在his blog中描述的问题。
基本上,DeleteFile()是“某种”异步的-如果要删除的文件上有任何未完成的文件句柄,文件系统只是将该文件标记为“要删除”,但在关闭最后一个打开的句柄之前,它实际上不会从目录列表中消失-即使DeleteFile返回成功。

08-26 14:22