char *strFile = new char[dwSize+1];
DWORD nBytesRead = 0;
BOOL bResult = ReadFile(hFile, strFile, dwSize, &nBytesRead, NULL);
if( bResult )
{
strFile[dwSize]='\0';

USES_CONVERSION;
LPOLESTR lpo = A2OLE(strFile)    //这样转应该不会有错吧?
long len = wcslen( lpo );        //这里得到的长度有时正确,有时少了2
CComBSTR bstrProtoFile( dwSize, strFile );
len = bstrProtoFile.Length();    //这和上面情况一样
}
当我读取不同文件后,将lpo 的内容写入文本后,发现少了最后一个字符;可是有时候又不会少!~
请教各位大虾,哪里可能会出问题呢?/*----------------Show Buffer-----------------------*/
FILE *fStream = fopen( strPath, "w+" );
if( fStream != NULL )
{
CString str( bstrProtoFile );
LPCSTR strText = str.GetBuffer( str.GetLength() );
UINT nWrite = fwrite( strText, sizeof(char), len, fStream );
}
fclose( fStream );
/*--------------End Of Show Buffer-------------------*/