A2W和W2A :很好的多字节和宽字节字符串的转换宏

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

 

       以前看《Window核心编程》,感觉多字节和宽字节之间还比较麻烦的,至少MultiByteToWideChar函数和WideCharToMultiByte函数有足够多的参数的意义让我们去理解。近日接触了ATL的一个很好的字符串的转换宏:A2W和W2A。

 

      

用法很简单,A2W的用法:

 

      

  1.         #include <atlconv.h>   
  2. DoSomething(LPWSTR str);  //  函数声明   
  3.   
  4. USES_CONVERSION;  
  5. DoSomething(A2W("SomeString"));  

 

 

       W2A的用法:

 

   

  1. #include <atlconv.h>   
  2. DoSomething(LPCSTR str); //  函数声明   
  3.   
  4.  USES_CONVERSION;  
  5. DoSomething(W2A(L"SomeString"));  

 

 

   

另外使用这两个宏时最好把它们单独放入一个函数实现,具体原因见:

谨慎使用A2W等字符转换宏

 

另外这儿一篇详细介绍这两个宏的原理的文章:VC中一个关于宏的使用问题

posted @   郑文亮  阅读(466)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
历史上的今天:
2011-11-23 成功解决 Android 下载中文文件名(转)
点击右上角即可分享
微信分享提示