1. 程式人生 > >A2W和W2A :很好的多位元組和寬位元組字串的轉換巨集

A2W和W2A :很好的多位元組和寬位元組字串的轉換巨集

以前看《Window核心程式設計》,感覺多位元組和寬位元組之間還比較麻煩的,至少MultiByteToWideChar函式和WideCharToMultiByte函式有足夠多的引數的意義讓我們去理解。近日接觸了ATL的一個很好的字串的轉換巨集:A2W和W2A。

 用法很簡單,A2W的用法:

           #include <atlconv.h>
       DoSomething(LPWSTR str);  //  函式宣告
       USES_CONVERSION;
       DoSomething(A2W("SomeString"));

       W2A的用法:

    #include <atlconv.h>
    DoSomething(LPCSTR str); //  函式宣告
     USES_CONVERSION;
    DoSomething(W2A(L"SomeString"));

另外使用這兩個巨集時最好把它們單獨放入一個函式實現,具體原因見:

這兒一篇詳細介紹這兩個巨集的原理的文章: