我想使用 <a class="item"> Home </a>
<a class="item"> Messages </a>
<a class="active item"> Friends </a>
打开要写入的文件,但不是排他的文件。即我想让另一个进程在文件仍然打开时读取它。
请注意,每行结束后我都会刷新,所以我不会错过任何东西。在其他进程从文件读取时,写入将处于空闲状态。
文档中没有提到排他性,但是实验表明它是排他性的。
有办法吗?
答案 0 :(得分:0)
文件的共享访问是特定于操作系统的功能。 fopen太通用了,不提供这种控制。您将需要使用更具体的内容。如果您使用的是Microsoft平台(假设自VS 2015标记以来),则可以使用_fsopen or _wfsopen-它们具有第三个参数来指定共享访问。
_fsopen("file", "w", _SH_DENYWR);
这将打开文件进行写入,并允许其他人读取(但不能写入)。
自变量
shflag
是一个常量表达式,其中包含以下内容之一 在Share.h
中定义的以下清单常量。
- 术语定义
- _SH_COMPAT为16位应用程序设置兼容模式。
- _SH_DENYNO允许读写访问。
- _SH_DENYRD拒绝对该文件的读取访问。
- _SH_DENYRW拒绝对该文件的读写访问。
- _SH_DENYWR拒绝对该文件的写访问。
其他OS /平台也可能支持fsopen的某些变体。