MFC中 MessageBox 函数字符串前加 L 什么意思??
答案:5 悬赏:60 手机版
解决时间 2021-04-27 15:25
- 提问者网友:战皆罪
- 2021-04-27 01:35
MFC中 MessageBox 函数字符串前加 L 什么意思??
最佳答案
- 五星知识达人网友:渡鹤影
- 2021-04-27 02:09
vc++在最近的几个版本 例如 vs2003 2005,2008等等 MFC 默认的 字符集
unicode 见图
项目属性图
所以用L 把字符串转换成unicode字符串,如果 使用 “多字节字符集” 则不需要L
建议 使用 _T 宏 来代替这个 L,关于_T 宏 相见 tchar.h
大体源码是这么的:
#define __T(x) L ## x
#define _T(x) __T(x)
作用是 当使用unicode 字符集的时候 _T 被替换为L
使用宽字符 就替换为空
unicode 见图
项目属性图
所以用L 把字符串转换成unicode字符串,如果 使用 “多字节字符集” 则不需要L
建议 使用 _T 宏 来代替这个 L,关于_T 宏 相见 tchar.h
大体源码是这么的:
#define __T(x) L ## x
#define _T(x) __T(x)
作用是 当使用unicode 字符集的时候 _T 被替换为L
使用宽字符 就替换为空
全部回答
- 1楼网友:煞尾
- 2021-04-27 05:21
L开头表示宽字符串文字,表示“”中的字符不能用单字符表示
- 2楼网友:低音帝王
- 2021-04-27 04:16
LZ可以去看一下什么是宽字符.
- 3楼网友:山有枢
- 2021-04-27 03:11
也相当于LPCTSTR类型
- 4楼网友:妄饮晩冬酒
- 2021-04-27 02:49
把字符串转换成unicode字符串,这种字符串一个字符占两个字节
而一般ASCII字符是占一个字节
而一般ASCII字符是占一个字节
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯