W2A等宏的使用
来源:互联网 发布:matlab中优化工具箱 编辑:程序博客网 时间:2024/04/29 00:19
在vc中做开发经常会遇到宽字节字符串和char[]之间的转换。MS提供了函数WideCharToMultiByte和MultiByteToWideChar函数供实现其转换,但是每次都要调用两次才能完成转换。
另外在头文件atlconv.h中定义了宏W2A()和A2W()可以一次完成转换。其使用方法如下:
char sz[] = "string";USES_CONVERSION;A2W(sz);
因为A2W()宏的参数,在USES_CONVERSION宏中定义,所以每次在使用A2W和W2A宏之前要添加上USES_CONVERSION。要注意问题:
有博文提到:USES_CONVERSION宏定义所使用的内存是通过函数alloca分配的,而alloca的内存是在栈空间内部分配,VC的编译器默认的编译空间为2M,因此如果在循环中使用A2W和W2A,则容易造成内存泄露。故在使用的时候最好自己写函数对W2A和A2W进行封装,这样在函数返回时,栈内存已经释放,问题解决。
0 0
- W2A等宏的使用
- 使用ATL的W2A和A2W宏
- A2W W2A等所需要的文件
- VC中一个关于宏的使用问题 A2W W2A
- VC中一个关于宏的使用问题 A2W W2A
- 转 A2W、W2A、T2A、T2W 等宏
- W2A、OLE2A等 ATL 宏会引发 stack overflow。使用时注意。
- W2A、OLE2A等 ATL 宏会引发 stack overflow。使用时注意。
- FW:W2A、OLE2A等 ATL 宏会引发 stack overflow。使用时注意
- A2W,W2A等转换函数,由于使用的比较平繁,所以程序内存一直上涨,导致崩溃
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- 用ATL的W2A和A2W宏转换Unicode与ANSI字符串
- 用ATL的W2A和A2W宏转换Unicode与ANSI字符串
- 用ATL的W2A和A2W宏转换Unicode与ANSI字符串
- A2W、W2A、A2T、T2A的使用方法
- 你让成为男人的性感女神丰胸秘诀
- 欢迎使用CSDN-markdown编辑器
- go 速学 - 03 - 类型与变量
- KVM 的预拷贝在线迁移过程
- 地方克里斯蒂斯的康复是的康复来说
- W2A等宏的使用
- 关于中华万年历,美拍,糗事百科的无聊调侃
- mssql替换字符串
- /dev/shm理论
- javascript操作标签的常规属性
- mysql命令行登陆
- HQL:Hibernate Qusery Language
- log4j使用
- GitHub 指导手册之第一个项目 Hello World