对于刚开始学习c/c++的新手来说,大部分时间都是集中在控制台情况下的语法学习编程,不要急躁,这是一个优点漫长并且非常有意义的事情,等你跨过了这条流沙河,以后的取经之道就会越来越顺手了、、
假设你已经学习完了,基本的语法,假设你正准备学习,windows 32 位应用程序的编程,那么你漫长的程序生涯就真正开始了,这里我简单的描述下我学习的时候遇见的关于字符的问题。
在控制台情况下 我们大家一般都是用的ASCII的字符编码,因为我们很少用到中文,只是写一写类什么的问题,但是作为一中文开发人员 我们不能只是用英文表示,因为我们面向的客户看不懂你的那些英文,这里我们就需要使用Unicode的宽字符编码,以满足应用程序对字符空间的需求(其实这里只是增加了字节数)。
ASCII足以满足西方大多数国家的语言需求 ,只是256个字符就可以了,但是我们中文,当然还有日文,韩文就不能满足了,我们需要更多的字符来表示,这里就引用了Unicode的宽字符编码,有65535个字符,这里就足以应付全世界的语言种类了 ,假设你是火星上来的,那就没办法了,呵呵。
windows程序里面的用到的宽字符我们怎么来处理呢,一般假设我们使用messagebox函数来显示窗口上的文字这里Messagebox(NULL,"","",0);这里的""里面的 字符我们使用英文的时候就很正常,但是我们用中文的时候就不行了,不过不用着急,这里就是我们讲述的宽字符,windows里面用TEXT("")这样包含的情况,来显示中文,你的程序中文就可以通过编译了。其实messagebox函数有messageboxA和messageboxW两种表达方式,前面的A就是指ASCII码表示的 ,后面的W就是宽字符表示的。
有的时候我们还会使用L“”来表示宽字符,这里还有很多种写法,大家可以好好去研究一下。
我推荐新手们准备学windows 编程的时候看一下这本书《windows程序设计第五版》。