我怀疑你的意思是同时当你说实时。同时访问文件需要打开共享文件。这可能是管道或其他一些进程间通信。根据要求,它也可能是磁盘上的一个简单文件。Windows 允许通过_fsopen打开共享文件。
#include <share.h> // required for manifest constants for shflag parameter.
fp = _fsopen("out.txt","w+",_SH_DENYWR); // e.g. _SH_DENYWR denies write access
.
while(...) {
.
.
另一个进程可以在文件打开时读取文件;无需事先关闭文件。另一个进程甚至可以写(用shflag = _SH_DENYNO
)。但是,从不同进程同时写入和读取需要更多的编码工作。
.
fprintf (fp,"%s\n", data); // you may want to have the /n "new line" after writing the data
.
并非所有写入的内容总是立即写入文件(物理上)。因此需要强制将内容写入fprintf
.
.
fflush(fp); // force writing to device
.
}