0

程序在 Windows 机器上创建一个文件来记录其进度。在程序结束时,文件被关闭并保留在系统中。具有网络访问权限的用户希望远程打开文件以查看最近记录的条目。

该文件是使用fopen_s文档中未提及共享模式打开的。使用 Ansi-C90 是一项要求。

使用的调用如下所示:

e += fopen_s(&(logger->logData.fileHandle), fp.Path, "a");

CreateFile 是我的选择吗?我读到它不是 Ansi-C90。在不破坏任何其他代码的情况下很容易重构
吗? 我应该针对哪种可能的重构问题编写单元测试? 还有其他方法可以在我缺少的共享模式下打开文件吗?fopen_sCreateFile

4

1 回答 1

1

“由 fopen_s 和 _wfopen_s 打开的文件不可共享。如果您要求文件可共享,请使用 _fsopen、_wfsopen 和适当的共享模式常量(例如,_SH_DENYNO 用于读/写共享)。”

(根据约翰内斯的要求,评论变成了答案)

于 2014-08-05T12:57:23.460 回答