毕业设计网
开发环境 |

vc的代码中有N' T' L'是什么意思啊

 

经常可以看到一些vc的代码中有N' T' L'之后跟着字符串,这些特殊的符号是什么意思啊?
 

如果一个字符串,"abc",这样写的话,在VC6用ASCII来处理时,会是4个字节.如果在VS2005用UNICODE来处理会是8个字节.但如果写清楚是L"abc"这样的话,就一定会把L"abc"用8个字节来处理,认为是UNICODE.

如果一个函数要求是 char* 的话,传"abc"作参数是对的,但传L"abc"就报错,L"abc"会认为是unsigned short* 型的.
如果我们写的程序是为了应付UNICODE的,字符串处前面都加上了 L ,可以正常处理,但把代码移植到ASCII编译时,则会报错.同样如果把ASCII编译的代码,转了UNICODE的编译方式时,也会报错.

_T TEXT 是一样的,目的是想让我们可以写出通用的代码,在UNICODE或ASCII两种方式下都可正常编译.

TEXT("abc") 的意思是,如果是ASCII方式,那么 TEXT("abc") 就转换成 "abc". 如果是UNICODE方式,则转换成 L"abc" ,当作双字节来处理.

详情可以参考WINDOWS核心编程的开头处,有讲UNICODE的.

以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询

上一篇:asp计算机英语教学系统
下一篇:vc++基础CCreateContext 解析


版权所有 毕业设计网联系qq:242219979 © 2007-2022