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-------------------*/
解决方案 »
- vc2010的sizeof(time_t)为什么是8,即使在32位下编译?
- 用ue编辑xml时用到的xml插件xml manager都有哪些功能
- VC中列表控件的使用
- 如何实现无模式的颜色对话框或者颜色工具栏???
- 添加Slider控件,出现“执行系统不支持的操作"
- 无法执行创建oracle触发器命令,无错误,没结果,该脚本在worksheet执行正常,请问何故?
- 急!如何打印一个对话框控件
- 怎样让ListBox中的字为自己定义的字体和颜色?
- VC的简单问题,送分
- 谁有DirectX和D3D的AppWizard!
- 使用VC6.0时老是出现这个对话框,怎么搞哇!
- 请问如何从一个AVI格式的文件中读取数据并保存到BMP格式中去呢?
MultiByteToWideChar(CP_ACP, 0, szImage, -1, wszImage, strlen(szImage)+1);