C技巧:请特别注意VC字符集设置

本文讲述了在VC环境中,Unicode字符集与多字节字符集的区别,以及由此引发的编程问题。作者在使用VC2005时,由于字符集设置不当,导致编译错误和程序运行异常。通过示例代码,解释了如何在Unicode与多字节字符集之间转换,以及在项目中正确设置字符集的重要性。
摘要由CSDN通过智能技术生成

VC真是一个非常笨,非常不友好的工具,还是这样说,VC(MFC)和现在流行的.net framework java比起来就想石器时代跟工业时代相比一样! 

  接触MFC也有几年了,为了它有过加班、有过熬夜、甚至通宵,代码没有十万行也应该有几万行了。但是MFC就是这么牛,它牛得不但令新手忘而却步,而且常常令有经验的软件工程师也栽跟斗。最近由于一个小小的环境设置设置问题花了很多时间,这跟用惯了VC6突然转到VC2005有关,但关键还是VC实在太笨了,它让我在一周内连续两中招次! 

  第一次中招是这样的,很简单: 

  我不知道VC.net2005默认工程默认设置是采用“Unicode字符集”(Unicode Character Set)的,以前用VC6工程的时候默认是“多字符集”(Multi-Byte Character Set)的。以前也没有用过VC.net2005啊,认为.net是用来在framework上面编程的,在MFC上编程没有必要打开庞大的.net2005,把机器弄得像牛拉车一样。 

  考试大声明了一个CString,按计划给它赋值,就像下面: 

  CString s;
  s.Format(“count = %d”,count); 

  按经验这肯定不会有错误的,但是不好意思,编译错误,因为这是我的环境采用的Unicode字符集的,而我给CString的Format函数是“多字符集”(Multi-Byte)所以编译不通过,要知道在这种设置下使用MessageBox(“ddd”);编译是不会通过的,因为系统调用的是MessageBoxW&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值