问题描述:主程序创建了一个文件,gFileHandle[i] = _open(fileName, _O_CREAT | _O_BINARY | _O_RDWR | _O_TRUNC, _S_IREAD | _S_IWRITE);专门有一个线程不断往文件里写内容。
一段时间以后,我在主程序另一个函数中需要读取该文件:m_hFile = CreateFile(strFileName, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);这里m_hFile每次返回始终是INVALID_HANDLE_VALUE。什么原因,请指教~

解决方案 »

  1.   

    m_hFile = CreateFile(strFileName, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE,
                        NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);加上这个试试
      

  2.   

    加上FILE_SHARE_WRITE也不行么?因为你首先是以读写方式打开的,所以后面打开时不赋予写共享权限,肯定打不开的。
      

  3.   


    看了,返回值32
    〖32〗-进程无法访问文件,因为另一个程序正在使用此文件。
    什么 原因,请指教!
    [/Quote]
    不会没释放文件吧?