为何从LPCSTR转到BSTR或CComBSTR会转换失败?
rt
--------------------------------------
DWORD dwSize = GetFileSize( hFile, NULL ); //dwSize = 933
char *strFileBuf = new char[dwSize];
.... //将文件的字符读入strFileBuf中
CComBSTR bstrFile1( strFileBuf );
UINT lSize = bstrFile1.Length(); //lSize = 2
USES_CONVERSION;
LPCOLESTR lpo = A2COLE(strFile);
CComBSTR bstrFile2( lpo );
lSize = 0;
lSize = bstrFile2.Length(); //lSize = 2
CComBSTR bstrFile3= ::OLE2BSTR( lpo ); //lSize = 2
lSize = bstrFile3.Length();
CComBSTR bstrFile4( dwSize, strFileBuf ); //lSize = 2
lSize = bstrFile4.Length();
上面都无法将其正确的转换为BSTR类型,是文件字符太大了?
或那位大虾,有其它的方法能正确转换过来的?先行谢过!