浅析c++ 宏 #val 在unicode下的使用
2013-07-18 11:35
567 查看
#define CHECK(condition) cout<<check failed:<<#condition<<endl;
上面这句宏,当你 CHECK(myfunc()); 时,假设myfunc返回false,会输出:check failed:myfunc()
在宏中,#condition 是把参数转换为字符串,这在打印log时,可以很方便的打印出函数名称等等
这个大家可能都知道了,太小儿科了,但是,当你在unicode下用的时候,很可能会出现乱码
解决的办法是 #condition 替换为 L## #conditon
#define CHECK(condition) cout<<check failed:<<L## #condition<<endl;
您可能感兴趣的文章:
相关文章推荐
- c++ 宏 #val 在unicode下的使用。
- vc6使用unicode
- STL的string如何使用UNICODE?
- 在console中 使用C Runtime 和 STL 显示 Unicode中文
- Linux Unicode 编程---如何(在程序中)加入并使用 Unicode 以实现外语支持
- 在lua脚本中使用unicode
- 使用sqlAlchemy和mysqldb时unicode的设置问题
- java的字符使用unicode
- .html(),.text()和.val()的使用,获取单选和复选框选中的值
- 关于VC多字节字符集和unicode宽字符集的使用和问题,只有明白了其中的原理,才能灵活解决问题
- Jquery使用val方法读写value值
- vs错误:使用 简体中文GB2312 编码加载文件时,有些字节已用unicode替换字符替换
- .html(),.text()和.val()的使用
- ie8在使用stringify后中文变unicode问题解决
- 关于MFC在Unicode下使用GetPrivateProfileString的问题
- 【Windows编程】系列第四篇:使用Unicode编程
- 使用Unicode写文本文件:一个简单类的示例
- Unicode与多字符集的区别、使用及相关函数
- FastDB在VS2008下使用UNICODE方式编译
- PHP foreach 循环使用"&$val" 地址符“&”