首页
社区
课程
招聘
[求助]请教一个Unicode的疑问.
发表于: 2009-5-23 09:55 3694

[求助]请教一个Unicode的疑问.

2009-5-23 09:55
3694
请教一下定义unicode时
wchar_t *p=L"Hello!";

为什么要设计成前面加L"...."
L是long型啊和unicode有什么关系,为什么不是W"...."。
很多API都是后面是加A或W区分的。L是什么含义?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
L 表明这个是宽字符.
2009-5-23 10:12
0
雪    币: 236
活跃值: (33)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3
L是个宏,F2跟一下就可以看到具体宏定义
2009-5-23 17:58
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
正如楼上所言 L 只是一个宏, L 后的字符串将作为,UNICODE字符集处理。
推荐使用 _T() 宏或 TEXT() 宏,除非是强制使用UNICODE字符。
2009-5-23 19:22
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢.
我的是VC6.0为什么按F2没有任何反应.

#define __TEXT(quote) L##quote
这个我知道,只是不明白为什么用L来表示宽字符.感觉用W来表示会更直观的.
匈牙利表示法L是代表long型.这样容易让人不明白L的含义.
2009-5-23 23:11
0
雪    币: 359
活跃值: (430)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
6
L代表long型,也是放在后面的,并没有引号,呵呵

另外,似乎这里的"L"并不是宏吧,TEXT()与_TEXT()才是宏吧(不确定,没查资料)
这里的L只是告诉编译器,将字符当作宽字符来对待!
2009-5-23 23:17
0
游客
登录 | 注册 方可回帖
返回
//