我有一个使用std::ofstream
usingstd::ofstream::app
创建文本日志文件的应用程序。该应用程序经常写入日志,有时仅相隔几毫秒。
我想编写第二个应用程序,当第一个应用程序仍在写入该文件并对其进行分析时
我有一些使用的工作代码,使用ifstream
,该代码可以加载和处理一个独立的文本日志文件,但是当我尝试在当前写入的文本日志文件中使用“该进程无法访问该文件,因为被另一个进程使用。”
如何调整日志阅读器以允许我阅读当前正在写入的文本文件(Notepad ++可以在同一文件上执行该操作!)?
在Windows上,您可以将第三个参数传递给流的构造函数/open
以允许共享,例如
std::ofstream of("path", of.app, _SH_DENYNO);
(int)ios_base::_Openprot
默认情况下通过,它是一个enum
设置为_OPENPROT
,它依次定义为,_SH_DENYNO
因此它应该已经工作而无需指定标志,我不确定是不是您尝试使用VS或VS中的定义,为什么不这样做调试代码?
参考:
http://msdn.microsoft.com/zh-CN/library/y1et11xw(v=vs.110).aspx
http://msdn.microsoft.com/zh-CN/library/kexhtshc(v=vs.110).aspx
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句