Unicode转换成ANSI,使用WideCharToMultiByte,我做了下面的转换后,怎么会出现问题呀
高手们看下先:WCHAR* m_Wch;
.
.
.//取得m_Wch的内容char* m_Sch;
WideCharToMultiByte(
CP_ACP,
WC_COMPOSIONCHECK | WC_DEFAULTCHAR,
m_Wch,
0, //换成其他的都无法转换,疑惑中
m_Sch,
0, //同上
NULL,NULL);CString m_strTest; //如果在WideCharToMultiByte前定义该字符串的话,转换不成功?!
m_strTest.Format("%s",m_Sch);到底是什么原因,应该如何改呀
高手们看下先:WCHAR* m_Wch;
.
.
.//取得m_Wch的内容char* m_Sch;
WideCharToMultiByte(
CP_ACP,
WC_COMPOSIONCHECK | WC_DEFAULTCHAR,
m_Wch,
0, //换成其他的都无法转换,疑惑中
m_Sch,
0, //同上
NULL,NULL);CString m_strTest; //如果在WideCharToMultiByte前定义该字符串的话,转换不成功?!
m_strTest.Format("%s",m_Sch);到底是什么原因,应该如何改呀
解决方案 »
- opengl的glPointSize函数不起作用。
- 怎么关闭一个窗口
- 高分,高分啦,急求unicode程序编译配置问题
- 如何以二进制形式打开一个任意格式文件,然后每次读出若干字节呢?
- 请大家都来说说自己曾经做过的项目,来者有分
- stonespace请看,根本没有CView::OnFilePrintPreview?
- 有使用Opencascade 的 高手吗
- 在CMyEditView中,在插入符(光标Caret)所在行中,如何得到Caret前后的二个字符串?
- VC下大家都用哪种报表?
- MFC中定义的5个默认的窗口类(宏定义)
- MFC的选项卡控件怎么使用啊?
- 我想用GetProcAddress获取用CreateProcess创建的进程里的一个函数地址,但是GetProcAddress要求的是进程的HMODULE/HINSTANCE,所以我要取得
int WideCharToMultiByte(
UINT CodePage,
DWORD dwFlags,
LPCWSTR lpWideCharStr,
int cchWideChar,
LPSTR lpMultiByteStr,
int cbMultiByte,
LPCSTR lpDefaultChar,
LPBOOL lpUsedDefaultChar
);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-1也是不行
主要是转换可以成功,对转换后的字符串进行比较的时候就会出问题,这个时候转换数据为空