TCHAR char
因为C++支持两种字符串,即常规的ANSI编码(使用""包裹)和Unicode编码(使用L""包裹),这样对应的就有了两套字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串
中文名
TCHAR
出 自
微软
类 型
常规的ANSi编码
主要通过
通过define定义的字符串宏
目录
1定义
1定义编辑
2使用原理编辑
微软将这两套字符集及其操作进行了统一,通过条件编译(通过_UNICODE和UNICODE宏)控制实际使用的字符集,这样就有了_T("")这样的字符串,对应的就有了_tcslen这样的函数
当没有定义_UNICODE宏时,TCHAR= char,_tcslen =strlen
当定义了_UNICODE宏时,TCHAR= wchar_t , _tcslen = wcslen[1]
tchar可用于双字节字符串,使程序可以用于中日韩等国语言文字处理、显示。使编程方法简化。
c++如何拼接两个tchar字符串?
2013-01-17 21:56 wangshinew |分类:C/C++ |浏览2048次
如: 设: TCHAR* a="我们abc"; TCHAR* b="你们bcd"; 求: TCHAR* c="我们abc你们bcd"; 最后结果必须是Tchar,而不是什么string和Cstring
TCHAR* a=_T("我们abc"); TCHAR* b=_T("你们bcd");int len_a = lstrlen(a); int len_b=lstrlen(b); TCHAR* c = new TCHAR[len_a+len_b+1]; c[0]=_T('\0'); lstrcat(c, a); lstrcat(c,b); // ... // after using c, free the memory delete []c;当采用ANSI编译时,TCHAR就是char 当采用Unicode编译时,TCHAR就是w_char
void TcharToChar (constTCHAR * tchar, char * _char)
iLength =WideCharToMultiByte(CP_ACP, 0, tchar, -1, NULL, 0, NULL, NULL);
WideCharToMultiByte(CP_ACP,0, tchar, -1, _char, iLength, NULL, NULL);
void CharToTchar (constchar * _char, TCHAR * tchar)
iLength = MultiByteToWideChar (CP_ACP, 0,_char, strlen (_char) + 1, NULL, 0) ;
MultiByteToWideChar (CP_ACP, 0, _char,strlen (_char) + 1, tchar, iLength) ;
C/C++ 连接两个字符串
一: C风格字符串连接
#include <iostream>
using namespace std;
二|:C++string类型字符串
#include <iostream>
#include <string>
using namespace std;
TCHAR char相关推荐
- TCHAR char wchar_t PTSTR PCSTR printf() wprintf()——_tprintf()解析
TCHAR char wchar_t PTSTR PCSTR printf() _tprintf() 晕菜了吧? 转来一篇文章为大家解惑... Petzold的Programming Windows的 ...
- String,CString,TCHAR*,char*之间区别和联系
最近老用到Cstring, TCHAR*, char*的转换. 找到一篇写得蛮详细的. 引用过来, 方便自己以后查阅. char是类型TCHAR也是!不过他可以通过是否定义了UNICODE宏来判断到底 ...
- TCHAR char wchar_t 的区别
有的人爱用strcpy等标准ANSI函数,有的人爱用_tXXXX函数,有必要把来龙去脉搞清楚. 为了搞清这些函数,就必须理请几种字符类型的写法.char就不用说了,先说一些wchar_t.wchar_ ...
- VC++中的char,wchar_t,TCHAR(转载)
VC++中的char,wchar_t,TCHAR 大家一起做一个项目,经常发现有的人爱用strcpy等标准ANSI函数,有的人爱用_tXXXX函数,这个问题曾经搞的很混乱.为了统一,有必要把来龙去脉搞 ...
- (C++)wchar_t 转 string / TCHAR转为char/判断是否进程运行/获得目标进程的入口
首先是wchar_t转string void Wchar_tToString(string& szDst, wchar_t* wchar) {wchar_t* wText = wchar;DW ...
- VC中char,TCHAR,WCHAR总结
char,TCHAR,WCHAR区别 #ifdef UNICODE typedef wchar_t TCHAR; #else typedef unsigned char TCHAR; #endif t ...
- TCHAR和CHAR类型的互转
Win32中CStdString 是需要TCHAR类型的值才可以赋值的,而很多文件读取时FILE的fopen函数之类的需要的是CHAR,我们需要把它们互转,这里我在网上找到了一个比较方便的方法 TCH ...
- [转]VC中char,TCHAR,WCHAR总结
char,TCHAR,WCHAR区别 #ifdef UNICODE typedef wchar_t TCHAR; #else typedef unsigned ...
- tchar与char不兼容_TCHAR与char的转换 | 学步园
最近开始看孙鑫老师的c++视频,在跟着视频做东西的时候,碰到了这个问题,视频中应该没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,但是我在自己电脑上编译时,就碰到 ...
最新文章
- 你朋友圈里的广告是怎么做到合你胃口的?
- 删除DataTable中列重复的行
- java linux urlencode_java字符编码转换研究(转)
- cocos2d-x3.0 实现HTTP请求GET、POST
- Mapx的VC开发实践
- kettle etl 入门第一篇
- CentOS7上使用bind9搭建DNS主从服务器
- Python零基础学习笔记(三十九)—— time
- 免费电子书籍--网址
- ios睡眠分析 卧床 睡眠_苹果ios14睡眠记录功能 让用户清楚的了解自己的睡眠_娱乐频道_中华网...
- 武汉理工大学-数值分析-2019年期末复习提纲
- 使用WireShark了解浏览器访问网络的整个过程
- Chrome 批量删除指定站点历史记录
- 未能从dhcp服务器获得ip地址,当出现无法从DHCP服务器中获得地址的常见处理步骤...
- 计算机提示无法识别优盘,U盘插入电脑提示无法识别的解决方法
- Python:实现currency converter货币换算算法(附完整源码)
- linux批量追加内容,利用sed的追加功能批量在文件中追加内容
- 35岁以后不建议裸辞
- Activiti bpmn流程图设计工具 分享
- 打造高效能研发团队的 5 个关键步骤