【发布时间】:2019-04-27 18:14:47
【问题描述】:
我有一个 MFC 应用程序,它有 2 个 exes。它们共享一个用于读取和写入的公共资源文件。一旦文本文件超过其大小限制,它就会重新创建。之后,只有一个 exe 能够写入文件。即游戏后写权限丢失。
以下是用于创建新文件的代码。
CreateFile(FileName, GENERIC_ALL, FILE_ALL_ACCESS, NULL,
OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
您能提出任何解决方案吗?提前致谢。
【问题讨论】:
-
好的。我会这样做的。
-
FILE_ALL_ACCESS放错地方了。你应该更详细地解释你的目标是什么。您可以尝试(只是一个建议)CreateFile(filename, GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)这将创建只写文件,其他程序无法访问它。然后关闭手柄,使用GENERIC_READ访问权限打开它。这是一种简单的方法,出错的可能性较小。你也可以在 MFC 中使用CFile