最近开始看孙鑫老师的c++视频,在跟着视频做东西的时候,碰到了这个问题,视频中应该没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,但是我在自己电脑上编译时,就碰到了问题,就因为创建工程的时候包含了UNICODE定义,所以就必须对TCHAR和char进行转换。我在网上找到了一些解决方法,我在blog上记录下,以便以后使用。至于函数中的参数我就不说了,可以到MSDN上查。

首先是把TCHAR转为char

//将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

//同上

CharToTchar (const char * _char, TCHAR * tchar)

{

int iLength ;

iLength = MultiByteToWideChar (CP_ACP, 0, _char, strlen (_char) + 1, NULL, 0) ;

MultiByteToWideChar (CP_ACP, 0, _char, strlen (_char) + 1, tchar, iLength) ;

}

tchar与char不兼容_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. char 类型与lpcwstr_CString与LPCWSTR、LPWSTR等数据类型的转换 | 学步园

    CString与LPCWSTR.LPWSTR等数据类型的转化 之前我遇到过类似的问题,在以前两篇博文中也提到过类似编码问题: 1. CString与LPCWSTR的转换 LPCWSTR 是Unicod ...

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

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

  4. const char * 类型的实参与 char * 类型的形参不兼容_4 种 C++ 强制类型转换,你都清楚吗?...

    我们先来回忆以下,C 语言的强制类型转换形式: (type) expr; 这种旧式强制类型转换从表现形式上来说不够清晰明了,容易看漏,一旦转换过程出现问题,追踪起来也就更加困难. 为了解决以上问题,C ...

  5. “const char *“ 类型的实参与 “char *“ 类型的形参不兼容错误的解决方法

    "const char *" 类型的实参与 "char *" 类型的形参不兼容错误的解决方法 参考文章: (1)"const char *" ...

  6. 关于VS2022 C++报错 const char* 类型的实参与char *类型的形参不兼容解决办法

    关于VS2022 C++报错 const char* 类型的实参与char *类型的形参不兼容解决办法 问题来源 错误原因 解决方案 问题来源 在学习写C++代码时候,去练习课本上课后习题时候的问题, ...

  7. wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString....转换

    wchar_t*,wchar_t,wchat_t数组,char,char*,char数组,std::string,std::wstring,CString.... #include <strin ...

  8. oracle中的char和j,oracle中char与varchar2的区别

    1. CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串"abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),在数据 ...

  9. arduino int转char_将char *转换为int arduino(Convert char* to int arduino)

    将char *转换为int arduino(Convert char* to int arduino) 我有问题从char获取int值..这里 Serial.println(((char *)&quo ...

最新文章

  1. java第10次作业 计科1501 张鹏
  2. #define 和 const 区别
  3. 使用Servlet上传多张图片——访问提示
  4. 帧同步和状态同步(一)
  5. 小说阅读网站设计HTML,40多个漂亮的网页表单设计实例
  6. 百度中文依存句法分析工具DDParser重磅开源
  7. 如何从一段视频中一次性修整多个片段
  8. DPlayer开发弹幕后台
  9. [RK3399][Android7.1] 调试笔记 --- CPU的serial number读取
  10. leaflet 加载百度离线瓦片
  11. 阿里热修复方案Sophix
  12. HTML表格的单元格合并
  13. ubuntu使用certbot给nginx添加ssl证书
  14. Vue进阶(八十二):updated 应用详解
  15. Arch Linux上使用 pandoc 将 markdown 转为 pdf 以及如何查看本机的中文字体 fc-list :lang=zh
  16. 基于java的CRM客户关系管理系统的设计与实现
  17. STM32F103+RFID-RC522模块 实现简单读卡写卡demo
  18. 2017奇虎360春招笔试编程
  19. 微信小程序,安卓可以调接口,苹果调不了的解决方案
  20. 快速学习-Saturn Console部署

热门文章

  1. Linux ssh登录命令
  2. The Elements of Style
  3. Exception authenticating MongoCredential{mechanism=null, userName=‘zhupeng‘, source=‘ksc‘, password=
  4. Python实现用命令行看虎扑直播
  5. 微信电商生态化初现端倪
  6. 计算机网络技术移动互联,信息工程学院计算机网络技术专业、移动互联应用技术专业顺利召开2019级新生专业介绍会...
  7. 【9】疯壳开源蓝牙智能健康手表(心率血压血氧心电监测可定制)_存储
  8. 第三方平台一键发布视频至抖音:基于.NET CORE
  9. 单点登录出现“票根‘ST-xxxxxx-cas’不符合目标服务”的错误的解决办法
  10. 各类NFC卡片数据分析辅助工具集