HELP 救命呀!谁哪有UINCODE的字符串转换函数的详细说明!
解决方案 »
- 请教发送短信到10010的pdu串应该怎么写
- 图像旋转错误
- 请问我在程序中DoModal()了一个对话框窗口,如何在此对话框受到点击时成为当前窗口时不让主窗口也提到前面来(不能让主窗口最小化)?
- CList Ctrl控件真是个麻烦的东东
- 用m_pRecordset打开表的数据集应该放在哪里?十万火急!请高手指点!谢了先!在线等!
- 寻求16x16的小图标资源,请大家帮帮忙!
- debug
- tab控件的显示区怎样重绘如果两个tab的显示区有各自的控件时,当用户从一个tab转移到另一个tab时?
- 怎样输出UNICODE字符串?
- 50分求助,如何用画一组同心圆环?
- 播放声音问题
- AcceptEx如何实时地接受客户的连接请求
WideCharToMultiBytes这些方法都被上面的类封装了。
WCHAR uData[] = L"I服了you!"; char * buffer; int nLength = 0; // 第一次调用,获取需要的字节数
nLength = WideCharToMultiByte(CP_ACP,NULL,uData,-1,NULL,0,NULL,NULL); // 申请 char 缓冲区
buffer = (char*)malloc(nLength); // 第二次调用,真正转换
WideCharToMultiByte(CP_ACP,NULL,uData,-1,buffer,nLength,NULL,NULL); MessageBox(buffer); // 释放缓冲区
free(buffer);
说明: 为什么用【L"I服了you!"】做测试,是有道理的。 非UNICODE环境中,汉字本身就占用2个字节,这与在UNICODE环境中是一样的; 而英文字母在两种环境中占用的字节数是不一样的。 注意函数中【-1】的用法,详细信息需要查看【MSDN】中这个函数的用法。
1.使用APIWideCharToMultiBytes()和MultiBytesToWideChar() -- 使用方法看MSDN
2.使用宏
USES_CONVERSION;
W2A ,A2W ....等等
3.使用封装类
(ATL)_bstr_t CComBSTR (MFC)CString 等等