我有一个创建使用文本日志文件的应用程序std::ofstream
使用std::ofstream::app
来创建它。 此应用程序经常写日志,有时只,单位为毫秒。
我想写第二个应用程序,它读取并分析此日志文件,而第一个应用程序还在写吧
我有一定的工作代码,使用ifstream
,加载和处理一个独立的文本日志文件,但是当我尝试使用它当前正在写入与文本日志文件验证码失败“的进程无法访问,因为它的文件正由另一过程“。
我如何调整我的日志读取器,让我读出当前正在写入文本文件(记事本+ +是能够在同一个文件呢!)?
在Windows中可以传递第三个参数到流构造/ open
,允许共享,例如,
std::ofstream of("path", of.app, _SH_DENYNO);
(int)ios_base::_Openprot
默认情况下,通过这是一个enum
设置为_OPENPROT
,它的定义是:依次_SH_DENYNO
所以应该不指定标志已经工作,我真的不知道为什么它不会在你的情况,你尝试过继VS的定义或调试的代码?
参考:
http://msdn.microsoft.com/en-us/library/y1et11xw(v=vs.110).aspx
http://msdn.microsoft.com/en-us/library/kexhtshc(v=vs.110).aspx