强制打开文件

Car*_*rra 3 c# permissions file

一个C++程序正在填充日志文件,它保留了日志文件的句柄.我想用C#程序打开这个日志文件并解析它以查看某个行是否已添加到日志文件中.

但是,如果我用C#打开日志文件,我会得到一个"这个文件被另一个进程使用"IOException.使用的代码:

using(StreamReader reader = File.OpenRead(myFile))//IOException
Run Code Online (Sandbox Code Playgroud)

C++程序用(我无法更改C++程序)打开文件:

m_hFile = tsopen(m_csFilePath, 
_O_WRONLY|_O_APPEND|_O_TRUNC|_O_CREAT|_O_BINARY,
_SH_DENYWR,
_S_IREAD | _S_IWRITE); 
Run Code Online (Sandbox Code Playgroud)

用记事本打开文件工作正常,因此应该可以打开它.我可以强制我的C#程序以只读模式打开文件吗?

Sam*_*uel 8

也许尝试用ReadWrite FileShare?打开文件?

File.Open(myFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
Run Code Online (Sandbox Code Playgroud)