C++字符串相关整理
来源:互联网 发布:心神战机 知乎 编辑:程序博客网 时间:2024/06/06 00:03
之前转过一篇文章,讲述了C++字符中多种类型的来源去脉,对字符处理有了一定的了解,但只是业余用C++,不常用,记不大牢,所以今天抽空再整理了一遍,列了一张相关的表格。由于这里对表格排版比较困难,所以做成了图片。
之前转的文章:http://blog.csdn.net/mostone/article/details/7397336
备注中的地址:http://blog.donews.com/holen/archive/2004/11/30/188182.aspx
由于历史的原因,造成这么多的字符类型定义,给初学者带来了不少的困惑,常常不知道要用什么。
从上表可以清晰的看到,用预定义的宏,可以省去不少麻烦,如果统一使用这种方式,只要改变预定义符,可以方便地在 DBCS 和 Unicode 之间进行转换。
虽然说,现在基本上是 unicode 的天下了,很少再使用 DBCS,但使用预定义的宏,有些 API 使用就不用指定 A/W 的后缀,会更方便直观。
再说一下类型缩写的含义,以便记忆:
TCHARText CharLPSTRLong Point to StringLPCWSTRLong Point to Constant Wide StringLPSTR
LPCSTR char x = 'a'strcpy()
sprintf()
printf() 多字节字符集 Multi-byte character setMBCSGBK
BIG5
Shift-JIS 1-2 bytes _mbscpy()
sprintf()
printf() 统一码
万国码
单一码
标准万国码Wide Char宽字符unicode UTF-16/UCS-22 bytewchar_t/WCHAR
LPWSTR
LPCWSTRLwchar_t x = L'a'wcscpy()
swprintf()
wprintf()UTF = Unicode/UCS Transformation Format
UCS = Universal Character Set
Unicode 的概念对我来说有点乱,这里涉及到两个标准制定组织,大家可以参考下面网页扩展阅读:http://blog.donews.com/holen/archive/2004/11/30/188182.aspx <预定义选择> _unicode defined TCHAR
LPTSTR
LPCTSTR_T()/TEXT()TCHAR x = _T('a')_tcscpy()
_stprintf()
_tprintf()根据预定义符,在编译时确定实际类型,例:
If UNICODE
TCHAR = wchar_t
Else
TCHAR = char
End if其它 单字节字符 Single-byte charactersCBCSASCII1 byte 双字节字符 Double-byte charactersDBCSGBK
BIG5
Shift-JIS 1-2 bytes
- 整理LINUX环境下常用的字符串相关C函数
- 黑马程序员--C语言基础-字符串相关知识点整理
- C++字符串相关整理
- 字符串相关函数整理
- 字符串相关函数整理
- 字符串相关的算法整理
- c#-string 字符串相关
- 【c/c++】字符串相关操作
- [C++]常用字符串操作整理
- 字符串NSString学习,相关方法整理
- java中的字符串相关知识整理
- 【c++】字符串的相关操作
- C语言字符串相关函数
- C语言字符串相关知识点
- C字符串处理相关函数
- C语言字符串相关库函数
- C/C++相关问题整理(1)
- C/C++读写文件相关问题整理
- Bluetooth Core Architecture Blocks (蓝牙核心架构)(一)
- [Cocoa]深入浅出 Cocoa 之 Core Data(2)- 手动编写代码
- 进程笔记2:进程之间的通信(UNIX域套接字socket)
- 关于127.0.0.1和本机IP的一些知识
- jquery ajax
- C++字符串相关整理
- Qt 下的Tcp和Udp通信小结
- spring hibernate 二级缓存
- Eclipse背景颜色修改
- 【面试题】【c++】 实现只能在堆上实例化的类
- 像素操作
- eclipse如何导入源码所有应用
- 实习第18天
- Testing the CATCHER (P1887)