c 函数参数前加_T是什么意思阿??

[复制链接]
查看11 | 回复3 | 2011-7-7 07:38:44 | 显示全部楼层 |阅读模式
比如wxFrame*frame=newwxFrame((wxFrame*)NULL,-1,_T(\"HellowxWidgetsWorld\"));在hellowxwidgetsworld前加了一个_T是什么意思阿?
回复

使用道具 举报

千问 | 2011-7-7 07:38:44 | 显示全部楼层
你这个方式只有在VS的环境里才是这样,其他编译环境一般不认,在VS里它可以自动为你转换编码,你的开发环境中如果设置了多字节的,他就会给你转换为多字节,如果是unicode的它就给你传化为unicode









<h4class=\"ask\">追问


但编译后的程序运行到这里时,应该是固定地按某种编码方式显示字符,所以编译的时候不会转换成不同字符编码吧。
回复

使用道具 举报

千问 | 2011-7-7 07:38:44 | 显示全部楼层
编译的时候就会转换的。其实它是个宏。在你编译的时候他就给你替换了,你可以看一下_T代表啥意思。假如你写的代码是cstringstr=_T(\"hello\");
当是多字节的时候它等效为cstringstr=\"hello\";
当为unicode时候,它等效为cstringstr=L\"hello\";
回复

使用道具 举报

千问 | 2011-7-7 07:38:44 | 显示全部楼层
谢谢!!那不加这个它是按ascii码处理吗?这个方法会自动检测你的编码方式吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行