none
fopen("rb"模式)返回值13错误,Permission denied。 RRS feed

  • 问题

  • 目前只在一个客户的xp电脑上有问题,两三次重现一次。实在想不通为什么。

    void Save()
    {
    ret = _wfopen_s(&fhandle,path,L"wb+");
    //write操作
    fclose(fhandle);
    //上面的这些操作返回值都是对的。文件也能正常删除
    
    
    //程序需要,写完后校验文件是否正确,重新打开
    ret = _wfopen_s(&fhandle2,path,L"rb");
    //这里返回是13,还不是每次都重现
    }

    2015年8月14日 8:59

答案

  • 猜想是fclose成功返回之后在一些比较卡的电脑上,文件释放被卡住了,继续fopen就不行了。

    使用_wfopen,这个支持共享读,解决问题。

    2015年8月27日 1:09

全部回复

  • 没遇到这个状况,要不就循环调用_wfopen_s 直到返回成功的时候跳出。反正两三次才重现一次。

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年8月18日 8:48
  • 猜想是fclose成功返回之后在一些比较卡的电脑上,文件释放被卡住了,继续fopen就不行了。

    使用_wfopen,这个支持共享读,解决问题。

    2015年8月27日 1:09