网站首页 > 物联资讯 > 技术分享

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

2016-09-28 00:00:00 广州睿丰德信息科技有限公司 阅读
睿丰德科技 专注RFID识别技术和条码识别技术与管理软件的集成项目。质量追溯系统、MES系统、金蝶与条码系统对接、用友与条码系统对接

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

 

      

用法很简单,A2W的用法:

 

      

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

 

 

       W2A的用法:

 

   

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

 

 

   

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

谨慎使用A2W等字符转换宏

 

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

 

 

RFID管理系统集成商 RFID中间件 条码系统中间层 物联网软件集成