代码如下:
ULONGLONG F32_Posofdata;
ULARGE_INTEGER offset;
OVERLAPPED overlap={0};
ULONG n;
unsigned char F32_readFAT_Buf[512];offset.QuadPart=F32_Posofdata*512;
overlap.Offset=offset.LowPart;
overlap.OffsetHigh=offset.HighPart;
ReadFile(hDevice,F32_readFAT_Buf,512,&n,&overlap);cout<<"F32_readFAT_Buf"<<endl;cout出来的有乱码,这是神马情况

解决方案 »

  1.   

    1:首先cout<<"F32_readFAT_Buf"<<endl;这个输出格式不对把
    2:unsigned char F32_readFAT_Buf[512] = {0};定义了数组最好初始化下,而且如果文件有512个字节,缓冲数组最好多定义一个字节513,不然输出的时候会有乱码
    3:我查的是MSDN2005,对于最后一个参数,上面描述lpOverlapped [in] Unsupported; set to NULL. 楼主的用法不知道对不对,可以设成NULL试下。
    4:看下hDevice是否为空,看ReadFile返回值是否正确。