C++语言中“_T”和“_L“的含义

本博客针对初学者同学和已经工作但是凑巧一不小心忘记了这个知识点的同学,希望可以为他们提供一些帮助,先来看一段代码

if (ifp == NULL) {
        MessageBox(NULL, _T("该文件已存在,请重新输入"), _T("错误"), MB_ICONEXCLAMATION);
        return;
    }

这里出现了一个关键字"-T".
_T(“xxxx”)是一个宏,他的作用是让你的程序支持Unicode编码,因为Windows使用两种字符集ANSI和UNICODE.
前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。,用_T可以有效保证其兼容性。

如果你明白了上面这一句话,那么-L就可以非常容易的理解,简单一句话概括,就是
_T和_L的区别在于,_L不管你是以什么方式编译,一律以UNICODE方式保存。

你可能感兴趣的:(学习c++cansi宏)