FILE *pFile = nullptr;
errno_t err=::_tfopen_s(&pFile, _T("E:/test.log"), _T("rb"));
if(err == 0)
{
cout << "文件打开成功。输入一个只继续进行:" << endl;
int a = 0;
cin >> a;
}
else
{
cout << "文件打开失败" << endl;
}
if(pFile)
{
::fclose(pFile);
pFile = nullptr;
}
测试1:
两个进程都使用 rb 打开文件,那么两个进程都会“文件打开成功”
测试1:
进程一使用 rb 打开文件,文件打开成功
进程二使用 wb 打开文件,文件打开失败
或者
进程一使用 wb 打开文件,文件打开成功
进程二使用 rb 打开文件,文件打开失败
结论:当多个进程对同一文件 进行“只读”,
没必要使用 共享读的方式 pFile = ::_fsopen(filePath.c_str(), ("rb"), _SH_DENYWR);