char与TCHAR相互转化
char与TCHAR之间的转化主要用到函数MultiByteToWideChar和WideCharToMultiByte
char转TCHAR
如果不是Unicode字符集,就不需要转换,直接复制即可,如果不确定是否使用Unicode字符集,可以这样写
- char strUsr[10] = "Hello";
- TCHAR Name[100];
- #ifdef UNICODE
- MultiByteToWideChar(CP_ACP, 0, strUsr, -1, Name, 100);
- #else
- strcpy(Name, strUsr);
- #endif
char strUsr[10] = "Hello";
TCHAR Name[100];
#ifdef UNICODEMultiByteToWideChar(CP_ACP, 0, strUsr, -1, Name, 100);
#elsestrcpy(Name, strUsr);
#endif
TCHAR转char
- char* ConvertLPWSTRToLPSTR (LPWSTR lpwszStrIn)
- {
- LPSTR pszOut = NULL;
- if (lpwszStrIn != NULL)
- {
- int nInputStrLen = wcslen (lpwszStrIn);
- // Double NULL Termination
- int nOutputStrLen = WideCharToMultiByte (CP_ACP, 0, lpwszStrIn, nInputStrLen, NULL, 0, 0, 0) + 2;
- pszOut = new char [nOutputStrLen];
- if (pszOut)
- {
- memset (pszOut, 0x00, nOutputStrLen);
- WideCharToMultiByte(CP_ACP, 0, lpwszStrIn, nInputStrLen, pszOut, nOutputStrLen, 0, 0);
- }
- }
- return pszOut;
- }
char* ConvertLPWSTRToLPSTR (LPWSTR lpwszStrIn)
{LPSTR pszOut = NULL;if (lpwszStrIn != NULL){int nInputStrLen = wcslen (lpwszStrIn);// Double NULL Terminationint nOutputStrLen = WideCharToMultiByte (CP_ACP, 0, lpwszStrIn, nInputStrLen, NULL, 0, 0, 0) + 2;pszOut = new char [nOutputStrLen];if (pszOut){memset (pszOut, 0x00, nOutputStrLen);WideCharToMultiByte(CP_ACP, 0, lpwszStrIn, nInputStrLen, pszOut, nOutputStrLen, 0, 0);}}return pszOut;
}
char与TCHAR相互转化相关推荐
- VC char和TCHAR之间转换
char:计算机编程语言(c.c++.Java.VFP等)中可容纳单个字符的一种基本数据类型. TCHAR:为了满足Unicode编码,对char的扩展,即_T("str")表示T ...
- VC++中的char,wchar_t,TCHAR(转载)
VC++中的char,wchar_t,TCHAR 大家一起做一个项目,经常发现有的人爱用strcpy等标准ANSI函数,有的人爱用_tXXXX函数,这个问题曾经搞的很混乱.为了统一,有必要把来龙去脉搞 ...
- string、wstring、cstring、 char、 tchar、int转换方法
1.string转wstring ? 1 2 3 4 5 6 7 wstring s2ws(const string& s) { _bstr_t t = s.c_str(); wchar_ ...
- TCHAR * 转为char * 和 char * 转为 TCHAR *
转码(常用类型和字符转换)转码(常用类型和字符转换) TCHAR * 转为char * char* TCHARToChar(const TCHAR* pTchar) {char* pChar = NU ...
- C++中字符三兄弟(WCHAR、CHAR、TCHAR)
目录 前言 一.与字符集的关系 二.代码实例 三.常见宏 前言 众所周知,C++中的字符分成两种类型:wchar_t和char.其中,WCHAR 对应 wchar_t,CHAR 对应 char,TCH ...
- 关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT
char :单字节变量类型,最多表示256个字符, wchar_t :宽字节变量类型,用于表示Unicode字符, 它实际定义在<string.h>里:typedef unsigned s ...
- Windows编程 char转tchar
友链 char* path_3 = (char*)malloc(256 * sizeof(char));if (NULL == path_3) return FALSE;lstrcpyA(path_3 ...
- char wchar_t TCHAR
1.char 是8位字符类型,可以储存不超过256个字符.---多字节(储存英文字符时为1个字节,储存中文字符时为两个字节)ascii 2.wchar_t 是16位或者32位字符类型,跟选择不同的C或 ...
- 关于char, wchar_t, TCHAR, _T,L,TEXT,_TEXT,LPSTR,LPCSTR,PWSTR,PCWSTR,LPTSTR,LPCTSTR的区别
#ifdef UNICODE typedef wchar_t TCHAR; #else typedef unsigned char TCHAR; #endif typedef unsigned cha ...
最新文章
- (转) 技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道
- Fedora 12 安装配置subversion
- DWORD dwSendTime =::GetTickCount();
- android室内定位+3d,基于Android平台的手机室内定位及导航的设计与实现
- A的大小是多少c语言中,C/C+中字符(A)的大小
- OpenCV的滤波与卷积
- c语言进制转换pdf下载,C语言 十六进制和十进制间的转换.pdf
- c#打印程序原码_C#程序打印新行
- Bootstrap警告框、弹出提示层、模态框的js插件效果总结
- mysql-数据库的设计三范示与ER模型
- arraychangekeycase php,浅谈php数组array_change_key_case() 函数和array_chunk()函数
- linux计划任务与日志管理(日志分割/切割)
- perl语言中数组初始化为空和undef的不同
- 【Copy攻城狮日志】借助Taro暴改Nideshop实现电商支付宝小程序雏形
- 服务器性能测试 iometer 测试io
- 程序员必学的职场人际关系22原则
- 【(伪)数论】洛谷1943 Local Maxima
- 键盘上特殊符号的中英文名称
- NRI的统计学意义与临床意义
- Kbone与小程序跨端开发的一些思考
热门文章
- 删除你的所有计算机文件的英文,《电脑文件英文对照》.doc
- 超微四子星服务器_224核心448线程服务器---Supermicro超微高密四子星 2029BT-HNTR 数量不多只有60台...
- umask 和 新建文件、目录的默认权限
- 在 Mac 安装Docker
- 怎样cp文件夹时忽略指定的文件夹和文件
- 热烈庆祝AC70道题
- 第二次Java作业2
- 淘宝服务端高并发分布式架构的十四次演进之路
- asp.net core MVC 过滤器之ExceptionFilter过滤器(一)
- 【NOIP校内模拟】塔