有一个edit控件用于输入中文字符,绑定cstring型变量m_editin。
想使用如下函数
void UniToAsc(LPCWSTR uniBuff, LPSTR asciBuff)
{
DWORD iLen;
iLen = WideCharToMultiByte(CP_ACP, 0, uniBuff, -1, NULL, 0, NULL, NULL);
WideCharToMultiByte(CP_ACP, 0, uniBuff, -1, asciBuff, iLen, NULL, NULL);
}我遇到的问题是,怎么样将m_editin的cstring类型,转换成LPCWSTR的类型,从而可以使用该函数呢?
请帮帮我!
想使用如下函数
void UniToAsc(LPCWSTR uniBuff, LPSTR asciBuff)
{
DWORD iLen;
iLen = WideCharToMultiByte(CP_ACP, 0, uniBuff, -1, NULL, 0, NULL, NULL);
WideCharToMultiByte(CP_ACP, 0, uniBuff, -1, asciBuff, iLen, NULL, NULL);
}我遇到的问题是,怎么样将m_editin的cstring类型,转换成LPCWSTR的类型,从而可以使用该函数呢?
请帮帮我!
解决方案 »
- 急急急!!!VC用MSXML创建XML文档的问题——循环加入节点(先给20分,成功了继续补加)
- 谁有《visualc++数据库开发—典型模块与实例精讲》书的光盘啦!
- 请教dll 中的对话框中的中文字体问题
- 听说改注册表菜单字体大小能改变VC中顶层菜单字体的大小,但不知怎样去该改变,请高手指教,小弟先在此谢了
- 请问在中文环境下开发的的ACCESS数据库为什么在英文操作系统下打不开?
- MSHTML如何执行脚本?(100,分不够可以开新帖)
- 如何分割字符串?
- 关于document/view构架
- 谁来帮我看看下面的代码
- 求助!调试程序时遇到的问题(在线等待)
- 100分请教,解决马上揭贴
- 请问工作线程和界面线程通讯的问题
CStringW strW(m_editin);
(LPCWSTR)strW;
broadoceans:我是新手,你的CStringW是个类型吗?我看不明白(呵呵,可别笑话我啊)。我就想搞个小程序,输入几个汉字,然后按一下“ok”键,就显示出该汉字的unicode编码。
初步打算就用afxmessagebox来显示。
各位能否帮助我啊?
有源程序参考就再好不过啦!:)
CStringW strW(m_editin);UniToAsc((LPCWSTR)strW, asciBuff)
这看不动吗?
如果要做到支持UNICODE,整个工程编译方式是用UNCODE方式才能解决问题。
当定义了_UNICODE编译宏之后,MFC类库都是以UNICODE方式编译的,也就是说CSting类自动替换为是
CStringW类,自动支持UNICODE。
不过要支持UNICODE编译,编码必须采用UNICODE方式,具体的就是用TCHAR代替char,用_T("字符串")
代替"字符串"常量,另外还有字符串操作函数如strcpy/strlen都要使用相应的T类的函数。可以通过
MSDN找到对于的函数。