博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vc6.0转vs2005中字符串的问题
阅读量:5278 次
发布时间:2019-06-14

本文共 703 字,大约阅读时间需要 2 分钟。

简单一点:就是project->Property->Configuration Property-->general-->Character Set:No Set即可
。详细分析见下面: 

C++中的字符类型:Wchar,char,其中Wchar是宽字符,即Unicode,每个字符都是两个字节。char类型就是一般的ASCII码,另外的多字节编码与此类似(MBCS)。但是W与A这两种类型是截然不同的,为了书写的统一,定义了一种Tchar的类型,这种类型在你程序编译为Unicode是,就是Wchar类型,反之为char类型。

_T("")就是这种类型,L“”,就是指Wchar,什么都没有就是char类型。

对于GetLength()而言,其Unicode的话,得到是字符数,不是字节数。对于ASCII码而言是字节数。

对于预定义的不同,#define Unicode 的情况下是TEXT(""),而vs2005中貌似是预定义_Unicode,因此式_T("")。

对于LPCTSTR中的T就是TEXT或者_T的意思,C指的是常数。

对于W,A,T之间的转换,(A指的就是ASCII码)有专门的宏:

W2T("",""),W2CT等。

MultiByteToWideChar函数也可以用来转换。


为了简单意见,编译设置的时候统统采用no set,即不采用unicode编码,这样vs2005就能直接使用vc6.0了,因为vc6.0默认是ASCII的,而vs2005默认是unicode的,所以需要改变。

转载于:https://www.cnblogs.com/mao0504/p/5922566.html

你可能感兴趣的文章
用户控件赋值
查看>>
NodeJs读取源代码使用的字符集
查看>>
《Linux命令、编辑器与shell编程》第三版 学习笔记---000
查看>>
Ajax学习
查看>>
python类及其方法
查看>>
混合连接(解决通路歧义)
查看>>
Vue http.get vue-resource
查看>>
转载:JVM GC机制
查看>>
EGL 1.0 学习笔记
查看>>
关于bootstrap时间控件datetimepicker的位置错乱问题
查看>>
上班第一天,挑战算法大牛们,你能做出来吗
查看>>
E4 - Eclipse 4.x 和 XWT的关系
查看>>
1257: [CQOI2007]余数之和sum - BZOJ
查看>>
软件包管理
查看>>
iOS开发-仿微信图片分享界面实现
查看>>
java集合及其方法
查看>>
苹果手机浏览器下拉会闪动的解决办法
查看>>
python note 18 序列化模块
查看>>
生活大爆炸系列之制作望远镜架
查看>>
火星人敏捷开发手册 原10.31版本已于10.14提前发布,特此通知
查看>>