程序在Windows机器上创建一个文件以记录其进度。在程序结束时,文件将关闭并保留在系统上。具有网络访问权限的用户希望远程打开文件以查看最近记录的条目。
使用fopen_s
打开文件,文档中没有提及共享模式。使用Ansi-C90是必需的。
使用过的电话如下:
e += fopen_s(&(logger->logData.fileHandle), fp.Path, "a");
CreateFile对我来说是一个选择吗?我读到它不是Ansi-C90
在不破坏任何其他代码的情况下,fopen_s
是否很容易重构为CreateFile
?
对于什么样的可能的重构问题,我应该编写单元测试?
还有其他方法可以在我缺少的sharedmode中打开文件吗?
答案 0 :(得分:1)
“由fopen_s和_wfopen_s打开的文件不可共享。如果要求文件可共享,请使用_fsopen,_wfsopen和相应的共享模式常量(例如,_SH_DENYNO用于读/写共享)。”
(根据约翰内斯的要求,评论变成了答案)