MFC中 MessageBox 函数字符串前加 L 啥意思??
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中 MessageBox 函数字符串前加 L 啥意思??相关的知识,希望对你有一定的参考价值。
比如:MessageBox(L"qwerty",L"fgsfhjs")
加这些L是什么意思??
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
使用宽字符 就替换为空
参考技术A 把字符串转换成unicode字符串,这种字符串一个字符占两个字节而一般ASCII字符是占一个字节 参考技术B 也相当于LPCTSTR类型 参考技术C L开头表示宽字符串文字,表示“”中的字符不能用单字符表示 参考技术D LZ可以去看一下什么是宽字符.
MFC MessageBox函数的注意点
以上是关于MFC中 MessageBox 函数字符串前加 L 啥意思??的主要内容,如果未能解决你的问题,请参考以下文章