HANDLE hFileW = CreateFile(  _T("test"),GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
char ch = '0';
DWORD nW = 0;
WriteFile(hFileW,&ch,1,&nW,NULL);
::FlushFileBuffers(hFileW); // 可以用记事本打开文件并看到写入的数据 HANDLE hFile = CreateFile(  _T("test"),GENERIC_READ,FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (!ReadFile(m_hFile,&ch,1,&nW,NULL))
{
// error code = 5 : 拒绝访问
nW = GetLastError();
} CloseHandle(hFile);
CloseHandle(hFileW);

解决方案 »

  1.   

    楼主查看一些原因就知道为什么了!
    HANDLE hFileW = CreateFile( _T("test"),GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
    char ch = '0';
    DWORD nW = 0;
    WriteFile(hFileW,&ch,1,&nW,NULL);
    ::FlushFileBuffers(hFileW);CloseHandle(hFileW);
    // 可以用记事本打开文件并看到写入的数据HANDLE hFile = CreateFile( _T("test"),GENERIC_READ,FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    if (!ReadFile(m_hFile,&ch,1,&nW,NULL))
    {
    // error code = 5 : 拒绝访问
    nW = GetLastError();
    }CloseHandle(hFile);