单字符 和 宽字符

#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

相关推荐
xianwu5432 小时前
反向代理模块kfj
开发语言·网络·数据库·c++·mysql
滨HI02 小时前
P8772 [蓝桥杯 2022 省 A] 求和--简单题的陷阱——(不开long long见祖宗!!!
数据结构·c++·算法·职场和发展·蓝桥杯
EPSDA2 小时前
网络基础知识
linux·运维·服务器·开发语言·c++
零零时3 小时前
【STL】4.<list>
开发语言·数据结构·c++·经验分享·笔记·算法·list
波音彬要多做5 小时前
49 set与map的模拟实现
开发语言·数据结构·c++·学习·算法
滨HI06 小时前
P8605 [蓝桥杯 2013 国 AC] 网络寻路
c++·算法·职场和发展·蓝桥杯
有趣的我7 小时前
linux上实现ose
linux·c++
折途7 小时前
开源一个可以调RGB三色的小灯棒子
c++·单片机·嵌入式硬件·开源
大招至胜7 小时前
Mac下VSCode调试skynet的lua环境配置
lua·c
双手插兜-装高手8 小时前
网络 - Socket编程
c语言·开发语言·网络·c++·经验分享