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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【超详细】计算机组成原理总结及思维导图[通俗易懂]

    计算机组成第一章计算机系统概论冯诺依曼型计算机特点1.计算机由运算器,控制器,存储器,输入和输出设备5部分组成2.采用存储程序的方式,程序和数据放在同一个存储器中,并以二进制表示。3.指令由操作码和地址码组成4.指令在存储器中按执行顺序存放,由指令计数器(即程序计数器PC)指明要执行的指令所在的储存单元地址,一般按顺序递增,但可按运算结果或外界条件而改变5.机器以运…

    2022年4月17日
    65
  • JAVA(集合类)——使用For循环遍历ArrayList[通俗易懂]

    JAVA(集合类)——使用For循环遍历ArrayList[通俗易懂]文章目录实例描述实现过程实例描述JAVA中提供了各种数据集合类,这些类主要用于保存复杂结构的数据,其中ArrayList集合可以看作动态数组。它突破了普通数组固定长度的限制,可以随时向数组中添加和移除元素,这将使数组更加灵活。本实例通过ArrayList集合类实现了向程序动态添加与删除用户名的功能,其中所有数据都保存在ArrayList集合的实例对象中。实现过程1)在主方法中获取用…

    2022年7月22日
    24
  • hibernate 二级缓存「建议收藏」

    hibernate 二级缓存「建议收藏」Hibernate缓存缓存(Cache):计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。缓存中的数据是数据存储源中数据的拷贝。缓存的物理介质通常是内存Hibernate中提供了两个级别的缓存

    2022年5月24日
    38
  • Navicat for MySQL:快捷键整理「建议收藏」

    Navicatfor MySQL:快捷键整理, 使用快捷键,提升工作效率!

    2022年2月24日
    57
  • TCP四次挥手过程

    TCP四次挥手过程四次挥手状态转化:A、B连接建立状态ESTABLISHED->A终止等待1状态FIN-WAIT-1->B关闭等待状态2CLOSE-WAIT->A终止等待2状态FIN-WAIT-2->B最后确认状态LAST-ACK->A时间等待状态TIME-WAIT->B、A关闭状态CLOSED 四次挥手过程 第一次挥手:A数据传输完毕需…

    2022年6月2日
    29
  • 路由器04–OPKG

    路由器04–OPKG1.简介https://oldwiki.archive.openwrt.org/doc/techref/opkgOpkg是一个基于ipkg的轻量级的软件包管理系统,主要用于嵌入式系统,目前应用opkg的有OpenWRT和OpenEmbedded。1Opkg的详细使用方法可以参考OpenWRT的WIKI页面,不再赘述,本文将重点解释opkg的工作原理。…

    2022年5月20日
    310

发表回复

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

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