首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++中字符三兄弟(WCHAR、CHAR、TCHAR)

​ 目录 前言 一、与字符集的关系 二、代码实例 三、常见宏 ---- 前言 众所周知,C++中的字符分成两种类型:wchar_t和char。...其中,WCHAR 对应 wchar_t,CHAR 对应 char,TCHAR 是一种条件编译的类型,根据条件动态代表 wchar_t 或者 char。...wchar_t表示一个Unicode字符。 std::string表示一个ANSI字符串。 std::wstring表示一个Unicode字符串。...三、常见宏 常见宏对应的具体的数据类型: LPSTR – char* LPWSTR – wchar_t* LPTSTR – char* 或 wchar_t* LPCSTR – const char* LPCWSTR...– const wchar_t* LPCTSTR – const wchar_t* 或 const char* 作者简介:大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者

1.2K00
您找到你想要的搜索结果了吗?
是的
没有找到

宽字符wchar_t和窄字符char——putwchar、wprintf

,先来看下char和wchar_t在存储空间上的差别   运行结果:   从上面可以看出char占一个字节,wchar_t占两个字节   下面来确定wchar_t是有符号数还是无符号数   运行结果: ... 从上面的结果可以看出wchar_t为无符号数,因为wchar_t占两个字节,也就是16个比特(bit),最大值就是216-1=65535,到这里读者可以看出宽字符和窄字符最大的区别就是占字节大小的不同...mm中的H,而不是ss中的H,ss中的字符串中的每个字符占一个字节,printf如果按照宽字符的标准来输出就无法正常输出了,而wprintf为什么只输出了H呢,不是输出字符串吗,   下面我们用VS来看宽字符在内存中的存储...   从上图就可以很清楚的看出“Hello World”这个宽字符串在内存中的存储情况了,因为是宽字符所以大写字母H用两个字节表示(48 00),48是16进制转成10进制就是72,刚好就是'H'的ASCII...码值的大小,如果按照单字符格式输出(也就是一个字节一个字节的输出)就输出H,继续往后,编译器看到第二个字节00,就以为字符串已经到结束了,最后我们看到的结果就是只输出了大写字符H    (本来对%S没有什么疑问

1.3K40

stdio.h文件介绍

目录  简介   使用   1.调用   2.stdio.h中的标准输入输出函数   3.stdio.h中内容   4.宏定义部分   5.结构体部分   6.文件操作函数定义   7.格式化输出  简介...   使用   1.调用   2.stdio.h中的标准输入输出函数   3.stdio.h中内容   4.宏定义部分   5.结构体部分   6.文件操作函数定义   7.格式化输出  stdio 就是指...     *     */   宏定义部分    #ifndef _STDIO_H_     #define _STDIO_H_     /* All the headers include this...     #define __need_wchar_t     #define __need_wint_t     #include      #define __need___va_list...#endif /* Not __STRICT_ANSI__ */     /* Wide versions */     #ifndef _WSTDIO_DEFINED     /* also in wchar.h

86330

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券