单字符 和 宽字符

复制代码
#define PI   3.14
//产生新类型
typedef 3.14 PI

单字符,一个字节存储,宽字符,二个字节存储。

sizeof(L"abc")=8
size("abc")=4

typedef unsigned short wchar_t;
char

typedef  wchar_t WCHAR;
typedef  char CHAR;

WCHAR* p = L"Hello";
CHAR* = "Hello";

typedef  const CHAR* CSTR;
typedef  const WCHAR* CWSTR;
typedef  const CHAR* LPCSTR;
LPCSTR = PCSTR

单字符版本
宽字符版本
#ifdef _UNICODE
#define TEXT(x) L##x => L"x"
#else
#define TEXT(x) x
#endif

#define _T(x) TEXT(x)

SetWindowText(TEXT("QQ"))
SetWindowText(_T("QQ"))

#ifdef _UNICODE
#define PTSTR PWSTR
#else
#define PTSTR PSTR
#endif

#ifdef _UNICODE
#define PCTSTR PCWSTR
#else
#define PCTSTR PCSTR
#endif

#ifdef _UNICODE
#define _tWinMain wWinMain
#else
#define _tWinMain WinMain
#endif

工程属性设置中,编码使用Unicode,则使用宽字符,PCTSTR => const wchar_t*

使用多字节,PCTSTR => const char*


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt

相关推荐
草莓熊Lotso22 分钟前
C++ 方向 Web 自动化测试入门指南:从概念到 Selenium 实战
前端·c++·python·selenium
CoderCodingNo1 小时前
【GESP】C++五级考试大纲知识点梳理, (5) 算法复杂度估算(多项式、对数)
开发语言·c++·算法
星河队长1 小时前
VS创建C++动态库和C#访问过程
java·c++·c#
沐怡旸3 小时前
【穿越Effective C++】条款02:尽量以const, enum, inline替换#define
c++·面试
给大佬递杯卡布奇诺3 小时前
FFmpeg 基本API avcodec_alloc_context3函数内部调用流程分析
c++·ffmpeg·音视频
QT 小鲜肉3 小时前
【个人成长笔记】Qt 中 SkipEmptyParts 编译错误解决方案及版本兼容性指南
数据库·c++·笔记·qt·学习·学习方法
看到我,请让我去学习4 小时前
Qt 控件 QSS 样式大全(通用属性篇)
开发语言·c++·qt
筱砚.4 小时前
【STL——vector容器】
开发语言·c++
相偎4 小时前
用观察者模式通知UI刷新数据
c++
CoderCodingNo5 小时前
【GESP】C++四级真题 luogu-B4040 [GESP202409 四级] 黑白方块
开发语言·c++