首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >A2W W2A A2T T2A _T() 含义以及用法

A2W W2A A2T T2A _T() 含义以及用法

作者头像
全栈程序员站长
发布2022-09-23 20:38:26
发布2022-09-23 20:38:26
81200
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

A2W、W2A、A2T、T2A _T() 的含义及使用方法

1、A2W和W2A

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

char:8位字节类型,表示ASCII码 WCHAR:16位字符类型,表示Unicode字符 typedef wchar_t WCHAR; typedef unsigned short wchar_t;

(1)A2W的用法:char* ——> WCHAR*

代码语言:javascript
代码运行次数:0
运行
复制
USES_CONVERSION;  
CString cstring;  
char* achar = "qwer";  
const WCHAR* wchar = A2W(achar);  
cstring = wchar; 

(2)W2A的用法:WCHAR*——> char*

代码语言:javascript
代码运行次数:0
运行
复制
USES_CONVERSION; CString cstring;
WCHAR* wchar = _T("qwer");
const char* achar = W2A(wchar);
cstring = wchar;

(3)A2T的用法:char* ——> CString

代码语言:javascript
代码运行次数:0
运行
复制
USES_CONVERSION;  
char* achar = "qwer";  
CString cstring = A2T(achar);

(4)W2A的用法:CString ——> char*

代码语言:javascript
代码运行次数:0
运行
复制
USES_CONVERSION;  
CString cstring = _T("qwer");  
char* achar = T2A(cstring); 

(5)_T(“”)是一个宏,定义于tchar.h下

代码语言:javascript
代码运行次数:0
运行
复制
#define _T(x) __T(x)  
#ifdef _UNICODE
#define __T(x) L ## x
#else 
#define __T(x) x

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170937.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • A2W、W2A、A2T、T2A _T() 的含义及使用方法
  • 1、A2W和W2A
  • (1)A2W的用法:char* ——> WCHAR*
  • (2)W2A的用法:WCHAR*——> char*
  • (3)A2T的用法:char* ——> CString
  • (4)W2A的用法:CString ——> char*
  • (5)_T(“”)是一个宏,定义于tchar.h下
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档