VC++6.0和VC++2010的区别

VC6.0和VS2010最大的区别在于默认的字符集,VC6.0默认的字符集为ANSI,而VS2010默认的字符集为UNICODE.

这就造成了,VC6和VS2010在处理字符问题上的不同。

    首先要说明的是,这种不同主要是编译器层面上的不同,为什么要把VC6使用的ANSI字符集。到了VS2010时就改为UINICODE呢。这主要是为了处理字符的方便性来做出更改的。而本身C++语言上的字符类型并没有改变的,比如char类型仍然为1个字节,字符常量默认的也是一个字符占用一个字节的。

   其实为了兼容VC6和VS2010,微软在操作系统的层面,加入了自己的一套规范,比如说用了一些自己定义的数据类型。如TCHAR 如果说在ANSI字符集下,就相当于char, 而如果是再UNICODE字符集下,就相当于wchar_t.

  而因为在VS2010中处理字符的函数,几乎都变成了UNICODE的形式,而本身字符串常量为char类型。微软的解决方案是。用_T(),TEXT(),_TEXT()宏,或者L##来将字符串常量改为UNICODE形式的。比如,在VC6中,CString 的Format函数接受ANSI字符,而在VS2010中,必须改为Format(_T("abc"))或者Format(TEXT("abc"));或者Format(L"abc")

;的形式将单个char字符,即用一个字节代表一个字符的形式。改为UNICODE字符,即两个字节代表一个字符。

   另外,VC的main函数可以为void main()形式,而VS2010中最好用int main()的形式。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值