Win32中CStdString 是需要TCHAR类型的值才可以赋值的,而很多文件读取时FILE的fopen函数之类的需要的是CHAR,我们需要把它们互转,这里我在网上找到了一个比较方便的方法

TCHAR转为char

(2012-09-20 12:02:15)

转载
标签:

tchar

char

杂谈

分类: C/CPP
没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,创建工程的时候包含了UNICODE定义,就必须对TCHAR和char进行转换。

首先是把TCHAR转为char

[cpp] view plain copy print ?
  1. //将TCHAR转为char
  2. //*tchar是TCHAR类型指针,*_char是char类型指针
  3. TcharToChar (const TCHAR * tchar, char * _char)
  4. {
  5. int iLength ;
  6. //获取字节长度
  7. iLength = WideCharToMultiByte(CP_ACP, 0, tchar, -1, NULL, 0, NULL, NULL);
  8. //将tchar值赋给_char
  9. WideCharToMultiByte(CP_ACP, 0, tchar, -1, _char, iLength, NULL, NULL);
  10. }
//将TCHAR转为char //*tchar是TCHAR类型指针,*_char是char类型指针 TcharToChar (const TCHAR * tchar, char * _char) { int iLength ; //获取字节长度 iLength = WideCharToMultiByte(CP_ACP, 0, tchar, -1, NULL, 0, NULL, NULL); //将tchar值赋给_char WideCharToMultiByte(CP_ACP, 0, tchar, -1, _char, iLength, NULL, NULL); }

然后是把char转为TCHAR

[cpp] view plain copy print ?
  1. //同上
  2. CharToTchar (const char * _char, TCHAR * tchar)
  3. {
  4. int iLength ;
  5. iLength = MultiByteToWideChar (CP_ACP, 0, _char, strlen (_char) + 1, NULL, 0) ;
  6. MultiByteToWideChar (CP_ACP, 0, _char, strlen (_char) + 1, tchar, iLength) ;
  7. }

TCHAR和CHAR类型的互转相关推荐

  1. tchar与char不兼容_TCHAR和CHAR类型的互转

    http://blog.csdn.net/ahjxly/article/details/8494217 http://blog.csdn.net/b_h_l/article/details/75815 ...

  2. C++字符类型TCHAR、char和wchar_t

    1.首先,char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示. 2.wchar_t是C/C++的字符数据类型,是一种扩展的字符存储方式,wc ...

  3. JAVA入门级教学之(char类型)

    java程序主要讲解的数据类型之:char类型[占用2个字节] public class DateTypeTest02 {public static void main(String[] args){ ...

  4. C++ char*类型的实参与 LPCWSTR类型的形参不兼容

    都是Unicode字符集编码惹的祸,旧的教材上往往都使用多字符段编码 1.使用TCHAR 代替char 2.使用swprintf_s代替sprintf_s 3.使用TEXT函数或者是_L修饰const ...

  5. TCHAR * 转为char *   和 char  * 转为 TCHAR *

    转码(常用类型和字符转换)转码(常用类型和字符转换) TCHAR * 转为char * char* TCHARToChar(const TCHAR* pTchar) {char* pChar = NU ...

  6. CString、TCHAR*、char*转换 cstring与char *的转化(还包含很多种转换)

    stringbasicsystemdeletenulldate <1>CString 转化为 char* [cpp] view plaincopyprint? CString strDat ...

  7. tchar与char不兼容_TCHAR与char的转换 | 学步园

    最近开始看孙鑫老师的c++视频,在跟着视频做东西的时候,碰到了这个问题,视频中应该没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,但是我在自己电脑上编译时,就碰到 ...

  8. “const char *“ 类型的实参与 “LPCWSTR“ 类型的形参不兼容,VScode

    不同于VS系列,VScode我找到没有快速的解决办法,只能一点一点来 问题: wnd.lpszClassName = "WindowClass"; 不能将 "const ...

  9. char类型怎么输入 c语言_还没搞懂C语言指针?这里有最详细的纯干货讲解(附代码)...

    21ic综合自网络信息 指针对于C来说太重要.然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方面面的基本知识.所以本文尽可能的通过一篇文章完全讲解指针. 为什么 ...

最新文章

  1. tf.cast()数据类型转换
  2. ACC026简要题解
  3. tf.keras.losses.MeanAbsolutePercentageError 损失函数 示例
  4. Qt 连接达梦数据库
  5. 我虐小车千百遍,小车待我如初恋
  6. CTFshow php特性 web132
  7. vfp 右键发送邮件_邮件批量发送的方法教程
  8. C++ builder 的文件读写操作总结
  9. python合法标识符_python_判断标识符的合法性
  10. Mac终端的ruby和pods安装和使用(超干货)
  11. java数组求和递归,js数组去重 数组拼接 替换数组中的指定值 递归数组 判断数组中是否存在指定值 数组求和 根据条件判数组值...
  12. CCNA配置试验之七 PPP中PAP和CHAP的验证
  13. error while loading shared libraries: xxx.so.x 错误的原因和解决办法
  14. 程序员与代码的几种关系,每种都会被我们鄙视
  15. 如何判断微信内置浏览器(JS PHP)
  16. excel模糊搜索_Excel进阶篇:星号*用法,学会这些功能的,都按时加班了
  17. PyTorch 1.0 中文文档:Tensor(张量)的属性
  18. 如何从 Windows 虚拟机分离数据磁盘
  19. 外企的溃败:Oracle中国研发中心裁员,1600人,补偿为N+6
  20. step7启动不了的问题

热门文章

  1. 如何快速高效出高质量效果图
  2. 【完美解决】应用程序无法正常启动(0xc000007b)请单击“确定”关闭应用程序
  3. 快手福虎迎春季短视频涨粉活动规则[快手获取商品详情]
  4. 【精品软件】WeGo(微博PPC客户端) Release Note (更新至v1.05 Build20110117)
  5. 中国黑色金属行业产量需求与十四五战略规划报告2022版
  6. Next() Nextline() hasNext()区别
  7. 2017年深度学习必读31篇论文(附论文下载地址)
  8. python+tensorflow-gpu+CUDA+cudnn+显卡配置关键步骤详解
  9. Tensorflow LMST预测股票
  10. 30天自制操作系统 导读