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

A2W W2A A2T T2A _T() 含义以及用法A2W、W2A、A2T、T2A _T() 的含义及使用方法1、A2W和W2A在《Window核心编程》,多字节和宽字节之间转换比较麻烦的,MultiByteToWideChar函数和WideCharToMultiByte函数有足够多的参数的意义让我们去理解。那么使用ATL的一个很好的字符串的转换宏:A2W和W2A。char:8位字节类型,表示ASCII码WCHAR:16位字符类型,表示Un…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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*

USES_CONVERSION;  
CString cstring;  
char* achar = "qwer";  
const WCHAR* wchar = A2W(achar);  
cstring = wchar; 

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

USES_CONVERSION; CString cstring;
WCHAR* wchar = _T("qwer");
const char* achar = W2A(wchar);
cstring = wchar;

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

USES_CONVERSION;  
char* achar = "qwer";  
CString cstring = A2T(achar);

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

USES_CONVERSION;  
CString cstring = _T("qwer");  
char* achar = T2A(cstring); 

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

#define _T(x) __T(x)  
#ifdef _UNICODE
#define __T(x) L ## x
#else 
#define __T(x) x

——————————————————————

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年8月18日 下午12:46
下一篇 2022年8月18日 下午12:46


相关推荐

  • 你是一个合格的孩子吗?

    你是一个合格的孩子吗?最近在优酷上看到两个视频感触很深,拿来和大家一起分享一下。第一个是《天堂的午餐》  视频虽然只有短短的六分钟,也许会改变你的一生,故事讲了一个儿子为辛苦了一辈子的母亲做了一顿丰盛的午餐,但这顿午餐却成了母亲的天堂的午餐,就在母亲到家准备进家门时突然晕倒了,及时送到医院后抢救无效去世,母亲没有吃上儿子给她做的饭就去世了,视频中母亲问:我多会能吃上一顿你给我做的饭呢?儿子回答说…

    2025年11月7日
    5
  • Linux Kernel 5.2 将进一步支持 AMD FreeSync

    Linux Kernel 5.2 将进一步支持 AMD FreeSync开发四年只会写业务代码,分布式高并发都不会还做程序员?>>>不久前发布的Linux5.0内…

    2022年6月10日
    28
  • 【elasticsearch系列】安装elasticsearch-head插件

    【elasticsearch系列】安装elasticsearch-head插件目录环境安装 node 安装 gruntelastic head 运行修改 elasticsearc yml 排查问题环境安装 elasticsearc head 插件 需要依赖 nodeJs 环境 故首先我们先搭建 nodeJs 环境 此 part 先将此篇文章需要的各个官网列出来 node 官网 https nodejs org en download node 中文网 http nodejs cn download current elasticsearc headGitHub https

    2026年3月18日
    2
  • 建立友好城市有什么用_缔结友好城市

    建立友好城市有什么用_缔结友好城市原题连接Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府做出一些批准和拒绝申请的决定,使得在保证任意两条航线不相交的情况下,被批准的申请尽量多。输入格式第1行,一个整数N,表示城市数。第2行到第n+1行,每行两个整数,中间用1个空格隔开,分别表示南岸和

    2022年8月9日
    9
  • 邮箱接收验证码登录

    邮箱接收验证码登录开发工具与关键技术 VSNVC 作者 听民谣的老猫撰写时间 2019 7 2511 07 已经讲过通过账号密码来进行用户的登录 今天就来讲讲邮箱发送动态密码实现用户登录 再讲这个功能之前你得去邮箱获取一下授权码 首先登录自己的邮箱 找到设置 找到账户 下滑到这里将画红圈的点击开启 选择一种验证方式 获取授权码 然后记住

    2025年10月14日
    9
  • 【无标题】ubuntu 18.04安装edge浏览器「建议收藏」

    【无标题】ubuntu 18.04安装edge浏览器「建议收藏」ubuntu18.04安装edge浏览器第一步:sudoaptupdatesudoaptinstallsoftware-properties-commonapt-transport-httpswget第二步,使用以下命令导入MicrosoftGPG密钥wget:wget-qhttps://packages.microsoft.com/keys/microsoft.asc-O-|sudoapt-keyadd-第三步,并通过键入以下命令启用Edge浏览器存储库

    2022年7月21日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号