读书人

为什么没有定义_UNICODE也可以?该如何

发布时间: 2012-01-23 21:57:28 作者: rapoo

为什么没有定义_UNICODE也可以?
我的vc6.0是中文版的,并没有定义_UNICODE,但是以下
TCHAR strText[20] = "为什么 ";
m_strTextCtrEdit.SetWindowText(strText);
照样能正常显示在编辑框里。为什么?

[解决办法]
TCHAR并不是unicode,在支持unicode的情况下,它才是unicode
[解决办法]
TCHAR 是双编译支持的,如果定义了_UNICODE,则展开为WCHAR,如果没有定义,则展开为CHAR.
[解决办法]
显示没什么差别,只是字符的宽度上不一样
[解决办法]
操作系统是中文的吧, 它安装有中文字库, 默认的语言也是中文.
[解决办法]
回复人:wenbaby(雯贝贝) ( 三级(初级)) 信誉:100 2007-01-11 08:52:50 得分:0
?
TCHAR 是双编译支持的,如果定义了_UNICODE,则展开为WCHAR,如果没有定义,则展开为CHAR.

是正解。

另外,推荐使用unicode,提醒:要安装VC的UNICODE库(默认不安装),否则连接会出错。
[解决办法]
这个我知道。
但是实际上程序中并没有定义_UNICODE,所以应该展开为CHAR。那为什么还能正常显示,而不是乱码?
___________
你说为什么要显示乱码?显示不显示乱码,跟UNICODE没有关系.
[解决办法]
支持中文字符集编码,比如ANSI并不是unicode编码。
[解决办法]
是因为你的操作系统支持简体中文编码,你换个其他语言的试试~~
[解决办法]
因为你最终使用到的API也是ANSI的SetWindowTextA,而不是Unicode的SetWindowTextW

读书人网 >VC/MFC

热点推荐