您的位置:首页 > 编程语言 > C语言/C++

VC++中的字符问题

2015-07-26 14:26 295 查看
1字符集的历史

最初,互联网上只有一种字符集ANSI的ASCII.(American Standard Code for Information Interchange)这个字符集,和由他派生的字符集,统称为MBCS(Multi-Byte Chactacter System,多字节字符系统或者也叫ANSI字符集。

unicode又叫做万国码,是统一码联盟制定的用来容纳世界上所有国家文字的编码。UCS是ISO制定的。两者在发展中走向了统一。unicode的实现形式有UTF8,UTF16,UTF32等等。UCS的实现形式有UCS2 UCS4 UTF16是UCS2的超集,而UTF32是UCS4的子集。

2、基本数据类型

char是8位字符类型

wchar_t是16位或者32位字符类型(GNU Libc中规定为32位)

char数据转化为wchar_t可以用如下语句:

wchar_t appName[5]=TEXT("test");

3、字符串的含义:

在没有定义Unicode时候

对于PCTSTR, LPCTSTR, PCUTSTR, LPCUTSTR LPCSTR,他们的含义是一致的,都是由NULL结尾的char字符串。(也就是char* 类型,const)

在VC中,_T("")和_TEXT("")和__T("")的含义都是一样的,都是没有含义,其定义在tchar.h中。当程序中出现常量字符串时,就是ASCII编码。

而PTSTR, LPTSTR, PUTSTR, LPUTSTR,LPSTR他们的含义是和上面一样,只不过不是const。

CString在afxStr.h中定义。两个CString对象直接相加,就可以实现字符串的连接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: