A2W、W2A、A2T、T2A的使用方法

原创 2015年07月09日 09:26:06


1、A2W和W2A

   在《Window核心编程》,多字节和宽字节之间转换比较麻烦的,MultiByteToWideChar函数和WideCharToMultiByte函数有足够多的参数的意义让我们去理解。那么使用ATL的一个很好的字符串的转换宏:A2W和W2A。

  (1)A2W的用法:

USES_CONVERSION;
CString tmpStr;
char*LineChar="fdsfdsa";
const WCHAR * cLineChar = A2W(LineChar);
tmpStr=cLineChar;

 (2)W2A的用法:


USES_CONVERSION;
CString tmpStr;
WCH LineChar="fdsfdsa";
const char* cLineChar = A2W(LineChar);

2、A2T和T2A


 (1)A2T的用法:


USES_CONVERSION;
char * pChar="char to cstring";
CString cTemp=A2T(pChar);

(2)T2A的用法:

USES_CONVERSION;
CString cTemp =_T("char to cstring");
char * pChar=A2T(pChar);






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

以前看《Window核心编程》,感觉多字节和宽字节之间还比较麻烦的,至少MultiByteToWideChar函数和WideCharToMultiByte函数有足够多的参数的意义让我们去理解。近日接触...
  • bytxl
  • bytxl
  • 2015年06月03日 13:40
  • 1026

A2W,W2A等转换函数,由于使用的比较平繁,所以程序内存一直上涨,导致崩溃

在写一个程序中使用了 atlconv.h 中的 A2W,W2A等转换函数,由于使用的比较平繁,所以程序内存一直上涨,导致崩溃。 最后发现是字符转换的时候会申请的内存,直接在程序中使用 WideC...
  • GZFStudy
  • GZFStudy
  • 2016年06月06日 10:24
  • 1141

W2A等宏的使用

在vc中做开发经常会遇到宽字节字符串和char[]之间的转换。MS提供了函数WideCharToMultiByte和MultiByteToWideChar函数供实现其转换,但是每次都要调用两次才能完成...
  • ghy429090
  • ghy429090
  • 2015年04月02日 11:43
  • 627

A2W和W2A宏可能引起栈内存溢出

这两个宏使用alloca在栈上分配内存,退出生命周期后才会释放所占用的内存. 所以在一个函数的循环体中使用A2W等字符转换宏可能引起栈溢出。 真想在循环中使用的话,这个宏用单独的大括号包含起来,类似这...
  • yjz1409276
  • yjz1409276
  • 2016年04月11日 10:16
  • 1001

W2A_CP()宏转换

#include  代码如下: //使用ATL的W2A和A2W宏必须使用USES_CONVERSION USES_CONVERSION;   //Unicode字符串 wchar_t* w...
  • u011327981
  • u011327981
  • 2015年02月03日 16:28
  • 1293

用ATL的W2A和A2W宏转换Unicode与ANSI字符串

#include代码如下://使用ATL的W2A和A2W宏必须使用USES_CONVERSIONUSES_CONVERSION; //Unicode字符串wchar_t*wszText=L"1.Uni...
  • wljun739
  • wljun739
  • 2010年06月22日 15:53
  • 1887

谨慎使用A2W等字符转换宏

在一个函数的循环体中使用A2W等字符转换宏可能引起栈溢出。 #include void fn() { while(true) { { USE...
  • educast
  • educast
  • 2013年09月22日 15:44
  • 2490

A2W、W2A、A2T、T2A的使用方法

头文件包含 #include (1)A2W的用法: [cpp] view plain copy USES_CONVERSI...
  • season1201
  • season1201
  • 2016年11月26日 00:40
  • 546

A2W---赵湘宁

    这儿是个关于宏的问题,我曾用过ATL的串转换宏,包括W2A,开始有些东西我还不太明白。为了使用这些宏,必须在函数的开始处用USES_CONVERSION来初始化某些局部变量。用就用吧,但是看看...
  • wuji0447
  • wuji0447
  • 2009年10月12日 16:27
  • 4989

char*, wchat_t*互转 及 A2T, T2A宏及其实现原理

char*, wchat_t*互转 及 A2T, T2A宏及其实现原理
  • u012702526
  • u012702526
  • 2014年04月17日 09:53
  • 2009
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:A2W、W2A、A2T、T2A的使用方法
举报原因:
原因补充:

(最多只允许输入30个字)