最近帮测试部门写了一个模拟http并发下载的小工具,其中为类CDirectory实现了一个方法DeleteAllFiles(),用于删除某个文件目录下的所有文件。但实际运行时,会发现strPath目录被删掉之后,有时没有被创建出来。通过GetLastError()获得错误码是5,意思是拒绝访问。
Google了一下,一般都说是权限的问题。但我这个应该不是,因为这里的CreateDirectory(…)只是有时会执行失败,大多数情况下是可以创建成功的。所以考虑是否是刚刚Delete,然后马上Create,系统“反应”不过来?试着在DeleteDirectory和CreateDirectory之间加了一个短延时,经过测试确实不出现CreateDirectory(…)失败的情况了。