char:ANSI字符串,可用字符串处理函数strcat( ),strcpy( ), strlen(

)等以str打头的函数。

wchar_t :wchar_t是Unicode字符的数据类型,它的实际定义为:typedef

unsigned short wchar_t;
wchar_t 可用字符串处理函数:wcscat(),wcscpy(),wcslen()等以wcs打头

的函数。

WCHAR:在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实

际就是wchar_t。

在C语言里面提供了 _UNICODE宏(有下划线),在Windows里面提供了

UNICODE宏(无下划线),只要定了_UNICODE宏和UNICODE宏,系统就会自

动切换到UNICODE版本,否则,系统按照ANSI的方式进行编译和运行。只定

义了宏并不能实现自动的转换,他还需要一系列的字符定义支持。
TCHAR:
如果定义了UNICODE宏则TCHAR被定义为wchar_t。typedef wchar_t TCHAR;
否则TCHAR被定义为char typedef char TCHAR;

ACHAR:此类型是AUTODESK公司在adachar.h 头文件中定义的。
当定义了AD_UNICODE(AUTODESK公司使用UNICODE宏)时为wchar_t。

【转】char,wchar_t,WCHAR,TCHAR,ACHAR的区别相关推荐

  1. 关于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 ...

  2. VC++中的char,wchar_t,TCHAR(转载)

    VC++中的char,wchar_t,TCHAR 大家一起做一个项目,经常发现有的人爱用strcpy等标准ANSI函数,有的人爱用_tXXXX函数,这个问题曾经搞的很混乱.为了统一,有必要把来龙去脉搞 ...

  3. char 和 wchar 有啥区别?

    char 和 wchar 有啥区别? wchar_t是Unicode字符的数据类型,它实际定义在里: typedef unsigned short wchar_t; 不能使用类似strcpy这样的AN ...

  4. TCHAR char wchar_t PTSTR PCSTR printf() wprintf()——_tprintf()解析

    TCHAR char wchar_t PTSTR PCSTR printf() _tprintf() 晕菜了吧? 转来一篇文章为大家解惑... Petzold的Programming Windows的 ...

  5. 关于Char* ,CString ,WCHAR*之间的转换问题

    GDI+所有类的接口函数如果要传递字符串作为参数的话,似乎都用UNICODE串,即WCHAR*.我开始也被整得晕头转向,因为窗口编程所用往往是CString,用IO流读文件数据又得到char *.得益 ...

  6. MFC获取应用程序所在目录--CString(Left、Right、Find、ReverseFind)--Cstring与char或wchar转换

    一.CString--Left.Right.Find.ReverseFind CString--Left.Right.Find.ReverseFind CString::Left(intnCount) ...

  7. c语言wchar转化为char_c、c++ char*和wchar*互相转换

    1. 问题描述 编写程序时通常会面对一些不同的编码格式,如Unicode和multibytes.在有关字符串的处理时尤其重要,系统编程时通常会遇到很多这样的问题,例如把wchar*的字符串转换为cha ...

  8. char[]:strlen和sizeof的区别

    C code: // char[]:strlen和sizeof的区别 #include <stdio.h> #include <string.h> int main(int a ...

  9. char*,wchar_t*,CString和BSTR之间的转换

    前言 本文并不尝试列举出所有的转换方法,只列举作者认为方便易用的方法. 1.char*和wchar_t*的相互转换 可以利用中间类_bstr_t(头文件comdef.h)方便的进行相互转换 const ...

  10. MySQL中char,varchar和text的区别

    MySQL中char,varchar和text的区别 java程序中的string类型,在mysql数据表中可以有三种对应的类型:char,varchar和text. char,varchar和tex ...

最新文章

  1. 电脑有回声_电脑麦克属性调整(用于回声消除)
  2. python【数据结构与算法】Floyd算法模拟
  3. UA OPTI512R 傅立叶光学导论22 透镜成像与傅立叶变换
  4. SAP 权限对象设置及在程序中的应用
  5. (转载)MultiAnimation
  6. jemalloc java_从源构建tensorflow遇到错误:规则'@jemalloc//:jemalloc'的C编译失败
  7. 零基础学习java------day11------常用API
  8. 【软件质量】软件可维护性
  9. 老男孩Python高级全栈开发工程师【高清全套完整】
  10. pythonsqlite加锁_Python SQLite:数据库被锁定
  11. 计算机内置管理员,Win10无法使用内置管理员账户打开应用怎么解决?
  12. 基于二极管的温度检测电路
  13. Strange Fractions(奇怪的分数)-数论
  14. 实现 ResponseBodyAdvice 定制化JSON 返回字段
  15. 用 Python 自动生成 Word 文档并在指定位置插入图片
  16. 2021年电工杯B体详细思路分析
  17. SDUTOJ 3034 炸学校(dijkstra)
  18. 我们是“前端offer收割机”
  19. 感觉这么多年喝的鸡汤都白补了,我想静静!
  20. Flash, Flex, Air, Flashplayer之间的相互关系是什么

热门文章

  1. 固定大小采样池中的随机采样证明
  2. 用Vue-cli3+element+mockjs 实现后台管理权限系统及顶栏三级菜单显示
  3. 【愣锤笔记】能解决80%场景的Git必会知识点
  4. FutureTask源码解析(2)——深入理解FutureTask
  5. Redis高并发1-redis环境搭建
  6. 斯坦福22岁辍学少年的独角兽野心:准备颠覆硅基无人车激光雷达
  7. EF架构~为ObjectContext类型加个Find方法
  8. C/C++程序员面试宝典-2
  9. Linux服务器性能的重要指标:打开文件数的限制
  10. Linux系统编程 -- 多线程之基于阻塞队列生产者与消费者模型