码迷,mamicode.com
首页 > 其他好文 > 详细

ATL字符串转换宏

时间:2014-09-02 10:21:14      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   使用   ar   文件   art   div   

在头文件<atlconv.h>中定义了ATL提供的所有转换宏,如:    

bubuko.com,布布扣  A2CW       (LPCSTR)  -> (LPCWSTR) 
bubuko.com,布布扣  A2W        (LPCSTR)  -> (LPWSTR) 
bubuko.com,布布扣  W2CA       (LPCWSTR) -> (LPCSTR) 
bubuko.com,布布扣  W2A        (LPCWSTR) -> (LPSTR)bubuko.com,布布扣

     所有的宏如下表所示: 

A2BSTR OLE2A T2A W2A
A2COLE OLE2BSTR T2BSTR W2BSTR
A2CT OLE2CA T2CA W2CA
A2CW OLE2CT T2COLE W2COLE
A2OLE OLE2CW T2CW W2CT
A2T OLE2T T2OLE W2OLE
A2W OLE2W T2W W2T

上表中的宏函数,非常的有规律,每个字母都有确切的含义如下:

2 to 的发音和 2 一样,所以借用来表示“转换为、转换到”的含义。
A ANSI 字符串,也就是 MBCS。
W、OLE 宽字符串,也就是 UNICODE。
T 中间类型T。如果定义了 _UNICODE,则T表示W;如果定义了 _MBCS,则T表示A
C const 的缩写

 

    利用这些宏,可以快速的进行各种字符间的转换。使用前必须包含头文件,并且申明USER_CONVERSION;使用 ATL 转换宏,由于不用释放临时空间,所以使用起来非常方便。但是考虑到栈空间的尺寸(VC 默认2M),使用时要注意几点: 

    1、只适合于进行短字符串的转换; 
    2、不要试图在一个次数比较多的循环体内进行转换; 
    3、不要试图对字符型文件内容进行转换,因为文件尺寸一般情况下是比较大的; 
    4、对情况 2 和 3,要使用 MultiByteToWideChar() 和 WideCharToMultiByte(); 

ATL字符串转换宏

标签:style   blog   http   io   使用   ar   文件   art   div   

原文地址:http://www.cnblogs.com/qxzy/p/3950785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!