最近在学Charles Petzold的Windows程序设计。这本书不用说,是经典中的经典。其中学到文字与字体这章的时候,遇到一个问题:
他随书的源代码中有这样一句: static TCHAR szText[] = TEXT ("\x41\x42\x43\x44\x45 ")
TEXT ("\x61\x62\x63\x64\x65 ")
TEXT ("\xC0\xC1\xC2\xC3\xC4\xC5 ")
TEXT ("\xE0\xE1\xE2\xE3\xE4\xE5 ")
#ifdef UNICODE
TEXT ("\x0390\x0391\x0392\x0393\x0394\x0395 ")
TEXT ("\x03B0\x03B1\x03B2\x03B3\x03B4\x03B5 ") TEXT ("\x0410\x0411\x0412\x0413\x0414\x0415 ")
TEXT ("\x0430\x0431\x0432\x0433\x0434\x0435 ") TEXT ("\x5000\x5001\x5002\x5003\x5004")
#endif
;
我运行时出现错误,提示的是:
error C2002: invalid wide-character constant
只有TEXT ("\xC0\xC1\xC2\xC3\xC4\xC5 ") TEXT ("\xE0\xE1\xE2\xE3\xE4\xE5 ")这两行出错,去掉他们后其他的都没事。程序是用UNICODE预定义来编译的,他已经编译好的程序没有出错,能正常用Unicode显示所有的字符(其他如希腊语的符号)。但源代码在中文的Win2000下就不行。我把\xC0换成\x00C0也不行。后来换成了MBCS来编译,就只出现中文(因为系统把两个字符合并成一个来显示),不是正确的符号了。有没有哪个大哥大姐有UNICODE在中文系统下使用的经验,介绍介绍,特别是在中文系统下显示其他语言如韩文的经验,能提供资料也好,谢谢了!
他随书的源代码中有这样一句: static TCHAR szText[] = TEXT ("\x41\x42\x43\x44\x45 ")
TEXT ("\x61\x62\x63\x64\x65 ")
TEXT ("\xC0\xC1\xC2\xC3\xC4\xC5 ")
TEXT ("\xE0\xE1\xE2\xE3\xE4\xE5 ")
#ifdef UNICODE
TEXT ("\x0390\x0391\x0392\x0393\x0394\x0395 ")
TEXT ("\x03B0\x03B1\x03B2\x03B3\x03B4\x03B5 ") TEXT ("\x0410\x0411\x0412\x0413\x0414\x0415 ")
TEXT ("\x0430\x0431\x0432\x0433\x0434\x0435 ") TEXT ("\x5000\x5001\x5002\x5003\x5004")
#endif
;
我运行时出现错误,提示的是:
error C2002: invalid wide-character constant
只有TEXT ("\xC0\xC1\xC2\xC3\xC4\xC5 ") TEXT ("\xE0\xE1\xE2\xE3\xE4\xE5 ")这两行出错,去掉他们后其他的都没事。程序是用UNICODE预定义来编译的,他已经编译好的程序没有出错,能正常用Unicode显示所有的字符(其他如希腊语的符号)。但源代码在中文的Win2000下就不行。我把\xC0换成\x00C0也不行。后来换成了MBCS来编译,就只出现中文(因为系统把两个字符合并成一个来显示),不是正确的符号了。有没有哪个大哥大姐有UNICODE在中文系统下使用的经验,介绍介绍,特别是在中文系统下显示其他语言如韩文的经验,能提供资料也好,谢谢了!
解决方案 »
- 添加ACCESS数据失败!!!
- 请高手解决 ADO 不常见的问题
- 为什么VC编译生成的程序运行着,源程序还可以改名,删除?
- 我想学网络编程,准备学一下tcp/ip,大家说什么tcp/ip书比较好啊?
- 我想调用print.exe去直接打印一个文件,可是win9x下却没有这个文件,怎么办?
- 请问客户端程序如何使用用户登录操作系统的域帐号直接登录服务器端?
- vc 数据库编程能方面的书籍
- 请教高手!在用NetMessageBufferSend()函数时为什么编写时出现提示信息但编译时却说undeclared identifier
- 构件DCOM组件时代理/存根模块怎么生成
- 关于VC++编程
- 帮帮我,看一下,这个语句
- d3d 编译时不能通过
过,但是在文字显示的时候还是用本地的DBCS,对于中文系统来讲就只用了DBCS和
7位的ASCII码(0-127)。而第八位ASCII码(128-255)是参照地区代码页的。也就是说
不同的国家代码页有不同的字符显示。所有我们看不到A上有一点的字符。但对我的问题还是没有帮助,因为\xC0现在的问题是编译出错。而用\x00C0照样出错。
按道理其他的如\x0430显示都没有问题,\x00C0也不会有问题呀。奇怪!还是等待高手来解决吧!
过,但是在文字显示的时候还是用本地的DBCS,对于中文系统来讲就只用了DBCS和
7位的ASCII码(0-127)。而第八位ASCII码(128-255)是参照地区代码页的。也就是说
不同的国家代码页有不同的字符显示。所有我们看不到A上有一点的字符。但对我的问题还是没有帮助,因为\xC0现在的问题是编译出错。而用\x00C0照样出错。
按道理其他的如\x0430显示都没有问题,\x00C0也不会有问题呀。奇怪!还是等待高手来解决吧!