【发布时间】:2012-07-10 22:00:50
【问题描述】:
在 C++ WinAPI 应用程序中,我使用此代码打开文件
CreateFileW(path,FILE_APPEND_DATA,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
当此 C++ 应用程序打开文件时,我正在尝试使用此代码打开它以在 C# 应用程序中读取
var f = new StreamReader(path);
我得到 IOException "该进程无法访问该文件,因为它正被另一个进程使用"
我试过了
var fs = new FileStream(path, FileMode.Open,FileAccess.Read)
同样的结果。
我不明白为什么会这样。我在 C++ 应用程序的 CreateFile 中指定了 FILE_SHARE_READ。我打开它以用 C# 阅读。它必须在 C# 应用程序中打开。我究竟做错了什么? 同时notepad.exe可以打开这个文件
【问题讨论】: