谢谢了
解决方案 »
- 大侠们,你们的F5键辛苦了,网友们表示感谢。
- 请教大侠们一个 DLL中 MessageBox的问题,十分感谢!
- 修改ORACLE数据库报错!
- 我是菜鸟问题多 用archive 《序列化的自定义对象后,怎么知道对象的类型 假设序列化了很多对象~~~!!有没有简单的方法~
- 请高手帮忙调试!!!!!!!
- 请教关于HTMLView右边滚动条的问题
- paul2002()请进:)
- 头疼:rs232串口操作中出现奇怪的错误,请各位帮帮忙!
- ATL项目中要用COleDatetime, #include <afxdisp.h>又不行,怎么办?
- 有哪位有《Visuall C++6.0网络与Internet开发指南》的配套光盘?求求您了。
- Win API绘制时钟遇到一个问题,求教了!!!
- ctreectrl树形控件 怎样才能让他的背景色变成透明
{
WCHAR *strSrc;
TCHAR *szRes;
int len;
//获得临时变量的大小
int i = MultiByteToWideChar(CP_UTF8, 0, str, -1, NULL, 0);
strSrc = new WCHAR[i+1];
MultiByteToWideChar(CP_UTF8, 0, str, -1, strSrc, i);
//获得临时变量的大小
i = WideCharToMultiByte(CP_ACP, 0, strSrc, -1, NULL, 0, NULL, NULL);
szRes = new TCHAR[i+1];
WideCharToMultiByte(CP_ACP, 0, strSrc, -1, szRes, i, NULL, NULL);
len = (i+1)*sizeof(CHAR);
memcpy(out,szRes,len);
out[len+1] ='\0';
delete []strSrc;
delete []szRes;
return len;
}
//GB2312字符串转为UTF-8编码
LPCTSTR GB2312ToUTF8(LPTSTR pUTF8Out,LPCTSTR pGB2312Input, int GB2312Len)
{
CHAR buf[4];
LPCTSTR lpReturn,pGB2312Cursor,pGB2312InputEnd;
WCHAR wcBuffer;
lpReturn = (LPCTSTR)pUTF8Out;
pGB2312Cursor = (LPTSTR)pGB2312Input;
pGB2312InputEnd= pGB2312Cursor + GB2312Len;
while( pGB2312Cursor<pGB2312InputEnd ){
//如果ANSII直接复制就可以
if( *pGB2312Cursor>0 ){
*pUTF8Out++ = *pGB2312Cursor++;
}else{
::MultiByteToWideChar(CP_ACP,MB_PRECOMPOSED,pGB2312Cursor,2,&wcBuffer,1);
memcpy( pUTF8Out, UnicodeToUTF8Char(buf,wcBuffer), 3 );
pGB2312Cursor += 2;
pUTF8Out += 3;
}
}
*pUTF8Out = '\0';
return lpReturn;
}
的这个 UnicodeToUTF8Char 是什么来的啊?