A2W和W2A :很好的多字节和宽字节字符串的转换宏
2012-03-30 13:48
232 查看
作者:朱金灿
来源:http://www.cnblogs.com/clever101
以前看《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"));
复制代码
另外使用这两个宏时最好把它们单独放入一个函数实现,具体原因见:
谨慎使用A2W等字符转换宏
这儿一篇详细介绍这两个宏的原理的文章:VC中一个关于宏的使用问题。
来源:http://www.cnblogs.com/clever101
以前看《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"));
复制代码
另外使用这两个宏时最好把它们单独放入一个函数实现,具体原因见:
谨慎使用A2W等字符转换宏
这儿一篇详细介绍这两个宏的原理的文章:VC中一个关于宏的使用问题。
相关文章推荐
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- A2W和W2A :很好的多字节和宽字节字符串的转换宏
- 宽字符字符串和多字节字符串之间转换
- MSDN将字节数组转换为十六进制值字符串时 Byte 的用法
- 介绍一种将ASCII码字符串转换为二进制字节数据的方法
- Java字节、十进制、十六进制、字符串之间的相互转换
- C风格字符串转换到宽字节,中文宽字节输出的源代码
- 使用字节与字符串转换时需要注意的问题
- encode_json 转换给定的perl数据结构为一个UTF-8编码的 2进制字符串 decode_json把UTF-8字节转换成字符
- 用VB.NET将字节数组转换为字符串
- 字节数组 整型 字符串 十六进制 字符 之间的转换
- C# 16进制与字符串、字节数组之间的转换 C# 16进制与字符串、字节数组之间的转换
- C#控制台基础 字符串转换为ANSI格式的字节数组
- 字节数组和字符串按十六进制互相转换
- 多字节字符串与宽字符串的转换