问个CString::Format的问题,vs2003和vs2008中使用方法不一样?
在Vs2003中,可以直接用下面的各式使用CString str;
str.Format("Hello World");
但是在vs2008中却会报错,必须要用
CString str;
str.Format(_T"Hello World");
这是为什么呢? --------------------编程问答-------------------- 很简单,因为2003默认字符集是多字节,2005及以后默认使用了Unicode字符集 --------------------编程问答-------------------- 2005开始都默认用unicode字符集,所以要用_T(),或用L""直接表示unicode字符集 --------------------编程问答-------------------- 2008默认是unicode字符集。
_T("")宏是多用途的,在unicode字符集相当于L""。
也可用于非unicode字符集,比较灵活,推荐使用。 --------------------编程问答-------------------- 使用了UNICODE字符集的问题 在项目 属性里面 把使用UNICODE字符集去了就可以了。 --------------------编程问答-------------------- 明白了。谢谢各位。小弟我刚来的,没有分数给大家,发帖的时候不知道还要给分。下次有了一定补给大家。 --------------------编程问答-------------------- mark --------------------编程问答-------------------- mark
补充:.NET技术 , VC.NET