#include tchar.h 是什么意思
因为VS里的很多字符编码都是采用unicode来编码的,为了兼容字符集。微软开发了tchar包,tchar 在unicode下是wchar(双字符),而普通是char。 因为C++支持两种字符串,即常规的ANSI编码和Unicode编码,这样对应的就有了两套字符串字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串 。微软将这两套字符集及其操作进行了统一,通过条件编译(通过_UNICODE和UNICODE宏)控制实际使用的字符集,这样就有了_T("")这样的字符串,对应的就有了_tcslen这样的函数 。
为了存储这样的通用字符,就有了TCHAR: 当没有定义_UNICODE宏时,TCHAR = char,_tcslen = strlen;当定义了_UNICODE宏时,TCHAR = wchar_t , _tcslen = wcslen 。当我们定义了UNICODE宏,就相当于告诉了编译器:我准备采用UNICODE版本。这个时候,TCHAR就会变成了wchar_t。而未定义UNICODE宏时,TCHAR变成了unsigned char 。这样就可以很好的切换宽窄字符集。tchar可用于双字节字符串,使程序可以用于中日韩等国 语言文字处理、显示。使编程方法简化。
参考资料:http://zhidao.baidu.com/question/318248378.html
#include tchar.h 是什么意思相关推荐
- C/C++—— #include“stdafx.h”详解
转自:http://blog.csdn.net/qingkong8832/article/details/6695123 1,用VS2008新建项目,选择[Win32]-[Win32控制台应用程序]- ...
- tchar.h及TCHAR数据类型介绍
并不是所有的Windows操作系统都支持UNICODE编码的API(例如早期的Windows98), 这就造成了两种结果:某些版本的Windows应该应用wchar_t来保存字符, 某些平台的Wind ...
- Visual Studio2017自动生成的#include“stdafx.h”详解及解决方案
问题描述: 在高版本的Visual Studio的默认设置中,会出现这么一个现象,在新建项目之后,项目会自动生成#include"stdafx.h"的头文件,而且删掉之后,即使是自 ...
- ../include/my_global.h:1107: 错误:对 C++ 内建类型‘bool’的重声明
在mysql安装的过程中,如果make的时候出现如下错误: 1 ../include/my_global.h:1107: 错误:对 C++ 内建类型'bool'的重声明 则需要安装gcc-c++,一般 ...
- #include Windows.h 和 Winsock2.h冲突的改进解决方案
#include <Windows.h> #include <Winsock2.h> 上面的代码会导致重定义错误, 原因就是 Windows.h 中包含了 Winsock.h( ...
- c++中#include“stdafx.h”
参考: https://blog.csdn.net/weixin_41813895/article/details/79698789 问题描述: 在高版本的Visual Studio的默认设置中,会出 ...
- 【错误记录】编译 ijkplayer 报错 (fatal error: libyuv.h: No such file or directory #include “libyuv.h“ )
文章目录 一.报错信息 二.解决方案 参考 https://github.com/bilibili/ijkplayer 项目的编译过程 ; 一.报错信息 在编译完 ffmpeg 之后 , 执行 ./c ...
- MFC apps must not include windows.h
用VS2008建立一个DLL项目,一开始的时候不想用MFC, 所以选择的是使用标准Windows库. 使用了一段时间后又想用MFC了,所以把选项改成使用在共享 DLL 中使用 MFC. 但是编译的时候 ...
- 第二次作业#include stdio.h int main() { int a,b,c,d,e; printf(请输入一个不多于五位的整数:\n); scanf(%...
1 判断成绩等级 给定一百分制成绩,要求输出成绩的等级.90以上为A,80-89为B,70-79为C,60-69为D,60分以下为E,输入大于100或小于0时输出"输入数据错误". ...
最新文章
- 24.二叉树中和为某一值的路径
- 题解 P4753 【River Jumping】
- [BUUCTF-pwn]——ciscn_2019_n_3
- python爬新闻并保存csv_用python爬取内容怎么存入 csv 文件中
- Extra }, or forgotten lendgroup. \makecover
- c++ 多线程 垃圾回收器_并行并发CMS垃圾回收器:-XX:+UseConcMarkSweepGC
- 【英语学习】【Daily English】U01 Greetings / L03 Have we met before?
- Hive中HSQL中left semi join
- python打电话播放语音_让电话录音也能看得见,录音一键转为文字
- DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016
- HashMap为什么是线程不安全的
- 缺少winload.efi”的解决办法
- C语言---双人贪吃蛇
- 【室内定位】采用TOA借助多个基站与终端之间距离进行目标定位matlab源码
- [微信小程序开发者工具] [error] Error: Fail to open IDE 问题解决方法
- OpenCV实践之GMS网格运动统计策略的特征匹配算法
- 如何正确使用 GC.SuppressFinalize()?
- K8S集群应用市场安装部署:第一篇
- 大众创业热度不减,好机友项目强势来袭
- 省流版-38号车评中心历史车评文字汇总
热门文章
- gitlab打tag标签
- 盘点科技公司十大裁员风波:诺基亚累计裁员近半(转)
- C++错误解决:double free or corruption (out): 0x00000000011abe70 ***
- T-BOX 车载网联终端设计
- 解密|FBI不光有特工,还有智能存储系统!
- 2019年12月PAT甲级 第一题 Good in C(1164)题解
- 记网站部署中一个奇葩BUG
- QQ在线代码,MSN在线代码,雅虎通在线代码,阿里旺旺在线代码
- 国际博物馆日 | 去全球摄影之家——纽约摄影展览馆领略艺术的魅力
- 小说里的编程 【连载之十一】元宇宙里月亮弯弯