_tfopen 是否需要使用共享读

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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值