在我的应用程序中,在 Windows-XP 下用 C 编写: 如何检查文件是否已被另一个应用程序打开? 一种选择是重命名文件,并检查它是否已重命名。 另一种选择是打开文件进行追加。 但是这些选项非常耗时。 有没有其他更省时的解决方案?
最佳答案
Windows API 中不存在可检查功能是否在另一个应用程序中打开的功能。如果它确实存在,它将受到竞争条件的影响。
假设您首先检查文件是否已经打开,然后返回的答案是当前未打开。然后你继续打开它,但与此同时其他人已经打开了。然后您尝试打开失败。
因此,了解您是否可以打开文件的唯一方法是尝试这样做。如果文件的打开方式阻止您尝试打开它,则该尝试将失败。
关于c - Windows XP下,用C语言 : Checking if a file is open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15596944/