没有合适的资源?快使用搜索试试~ 我知道了~
windows中的字符串类型.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 188 浏览量
2021-10-10
14:38:02
上传
评论
收藏 34KB DOCX 举报
温馨提示
试读
18页
windows中的字符串类型.docx
资源推荐
资源详情
资源评论
字符串类型
主要使用的是 字符串,而 在 中又增加了很多 字符串
的变体。这个一多嘛,就容易乱
所谓字符串,就是由字符组合而成,所以我们先来将将字符类型。
首先,存在两种最基本的字符类型: 和 。 大家都很熟悉了,我就跳
过。至于 ,是应用于 的宽字符,即一个字符 ,!" 。事实
上, 中利用
#$%&
定义
然后为了书写方便( 我也没觉得有多大差别),又把那两个基本字符类型重新的
给他 #$ 了一遍,即:文档来自于网络搜索
#$'()
#$'()
为了使得兼容性更加,又定义了 *'() 数据类型:
+$$
#$'()*'()
+
#$'()*'()
+$ 文档来自于网络搜索
这样,你不用关心是要使用 ( 字符串还是 ,编译器会自动根据你的 来选
择。
然后,又利用上面的几种基本数据类型,定义了一些字符串指针类型。
,-*) 和 ,-*):,-*) 是指向以 . 结尾的 ( 字符串的指针,后者是 指针文
档来自于网络搜索
#$'()/,-*)
#$'()/,-*)
,-*) 和 ,-*):,-*) 是指向以 . 结尾的 字符串的指针,后者是
指针文档来自于网络搜索
#$'()/,-*)
#$'()/,-*)
同样,为了摆脱对 ( 还是 的选择麻烦,也增加了 ,-**) 和 ,-**)
两个字符串指针类型。他们被如下定义:文档来自于网络搜索
#$*'()/,-**)
+$$
#$,-*),-**)
+
1 / 18
#$,-*),-**)
+$
0000000000000000000000000000000000000
#$*'()/,-**)
+$$
#$,-*),-**)
+
#$,-*),-**)
+$ 文档来自于网络搜索
#:你会在某些地方看到存在 -*)0-*)0-**) 等等,与上面的只却一个 , 的字符串
指针类型。实际上,这个是长指针和短指针问题。,-11 是长指针,-11 是短指针。不过
在 2 的系统上,二者已经没有区别。
然后说说两个比较成熟好用的字符串类型:& 和 &
& 是 的标准字符串,需要 &(不带3)头文件和 名字空间支持。
& 是 为 4 设计的字符串,功能更加强大,而且这玩意儿是安全的。需要
3 文件和 4,, 的支持。不过目前已经有人将此类型从 4 中分离文档来自于网
络搜索
为了增强程序的通用性,还必须注意以下几点:
!、既然程序里不能出现 ,那表示字符串时,就不能再习惯性的用 /了。应该改
为 *'()/,或者是 -**)。后一种是Ô 的变量,类似的有:
-*)、-**)、,-**)、,-*)、-**) 等等等等。这也是让人一开始接触会头大
的地方。其实并非如此恐怖,我以 -**) 为例做个解释:- 代表指针5和 ,- 是一个东西,
,- 的本意是 ,&-,!" 位 时代的遗留物。6, 代表 ,* 代表
*'(),*) 代表字符串。所以 -**) 其实就是 *'()/的意思。而 -*) 也
就是 /的意思。所以我们在表示字符串时也不能使用 -*) 等不带 * 的变量类型名。
文档来自于网络搜索
、表示字符串常量时,不能简单的用双引号括起来,因为那代表 字符串。同样也不
能在前面加 ,,因为那代表 %。我们的程序要做到的是通用性,即不是 也不是
%。所以我们在字符串前应该加的是 *1*,比如
& 75,,8*1*594#968*1*5944968 :6。*1* 还可用于字符。比
如 *'();<*1*5=(=6>文档来自于网络搜索
%$5446或者 B$54460B$5*'()6。因为我们不确定 *'() 到底是 还
是Ô。文档来自于网络搜索
C、该和一堆老朋友说再见了……我们不能再使用以前的字符串处理函数或者字符处理函
数了。比如 、、;# 等等等等……因为这些是 专用的,通通改成使
用 * 家族的吧。前缀都换成。比如、、;# 等等……顺便补充一
下 前缀是 使用的。恩,还有大家用得超爽的 #$,今后就改成#$
2 / 18
了吧呵呵。补充:#$ 是Ô 它家的。对了, 认为
#、 等不安全,所以使用这些函数编译器会报警。可以改用 推出
的Ô#、 等“安全”函数,其实就是多了个参数用来指明缓冲区大小(记得
用%$ 哦!DD)。还推出了形如 & 的一套字符串处理函
数,我没怎么用过。 也有一个字符串比较函数 ;#&。功能比Ô
;# 强大多了。比如可以设置忽略大小写等。文档来自于网络搜索
@、*7 函数可以用过一系列统计学的方法判断某个字符串是不是 % 字
符串。Ô% * 和 *% 函数可实现 ( 和
字符串的相互转化。这些的使用场合都不大。因为我们的程序应该做到“没有” 和
%。文档来自于网络搜索
"、虽然绝大多数情况下应该使用 *'(),但是记住 E-( 这个特殊的函数吧,
它的参数只能是 /。因为在导出函数表里函数名是用 码写的……文档来自于网络搜索
F、最后一点,记得要+%G3H哦!呵呵由于 内核采用的是
, 版的程序必然比 ( 版的程序效率高(比如不用在调用函数时在
堆里分配空间把参数转成Ô,然后再调用 版的函数),所以我们最好
是在程序的开头加上+I 和+I,把程序转换成
版的。如果程序的字符串处理完全按照上面的通用性要求做了是不会出错的。
文档来自于网络搜索
J、注意: 前缀与 前缀都是标准 函数,需要有标准 运行库才能够使用。而
前缀的是 提供的原生函数,不需标准 运行库。文档来自于网络搜索
K、如何对 进行操作?ÔÔÔ
字符集ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ特性ÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔÔ实例ÔÔÔ
(操作函数以 开头ÔÔÔÔÔÔÔÔÔÔÔÔÔ#
操作函数以 开头ÔÔÔÔÔÔÔÔÔÔÔ#
操作函数以;L 开头ÔÔÔÔÔÔÔÔÔ;L#
(0操作函数以 开头ÔÔÔÔÔÔÔÔÔÔÔ#( 运行期库)ÔÔÔ
(0操作函数以 开头ÔÔÔÔÔÔÔÔÔÔÔÔÔ#( 函数)Ô文档来自于网
络搜索
所有新的和未过时的函数在 ... 中都同时拥有 ( 和 两个版本。
( 版本函数结尾以 ( 表示; 版本函数结尾以 表示。 会如下定义:
ÔÔÔ
+$$
+I77
+
+I77(
+$00M 文档来自于网络搜索
3 / 18
N中 *'()、 等字符类型
N%支持多字节字符集Ô5 6
多字节字符集Ô5 6是一种替代Ô以支持无法用单字节表示的字符集(如日文
和中文)的方法。为国际市场编程时应考虑使用Ô或Ô ,或使程序能够通过
更改开关来生成支持两种字符集之一的程序。文档来自于网络搜索
最常见的Ô 实现是双字节字符集Ô5 6。一般来说,N%(尤其是Ô4)
完全支持Ô 。文档来自于网络搜索
有关示例,请参见Ô4源代码文件。
对于语言使用大字符集的市场所使用的平台,代替Ô的最佳方法是Ô 。4
通过使用可国际化的数据类型和Ô运行时函数来支持Ô 。您也应在自己的代码中这样
操作。文档来自于网络搜索
在Ô 下,字符被编码为单字节或双字节。在双字节字符中,第一个字节(即前导字
节)表示它和下一个字节将被解释为一个字符。第一个字节来自留作前导字节的代码范围。
哪个范围的字节可以用作前导字节取决于所使用的代码页。例如,日文代码页ÔK2使用Ô.
7J!到Ô.7K4范围内的字节作为前导字节,而朝鲜语代码页ÔKCK则使用其他范围的字节。
文档来自于网络搜索
在Ô 编程中需考虑下列所有因素。
环境中的Ô 字符
字符可以出现在文件名和目录名等字符串中。
编辑操作
应用程序上的编辑操作应在字符上操作,而非在字节上操作。插入符号不应拆分字
符,向右键应向右移动一个字符等。Delete应删除一个字符;Undo则应将字符重新插
入。文档来自于网络搜索
字符串处理
在使用Ô 的应用程序中,字符串处理引起特殊问题。两种宽度的字符混合在一个字符
串中;因此必须记住检查前导字节。文档来自于网络搜索
运行时库支持
运行时库和Ô4支持单字节、 和Ô编程。单字节字符串用Ôstr运行时
函数族处理, 字符串用相应的Ô_mbs函数处理,而Ô字符串用相应的Ôwcs
函数处理。4类成员函数的实现使用可移植运行时函数,这些可移植运行时函数在正常
情况下映射到标准Ôstr函数族、 函数或Ô函数,如“ 0可移
植性”中所述。文档来自于网络搜索
0可移植性
使用Ô*3头文件可以用同一个源生成单字节的Ô 应用程序和Ô应用程
序。*3定义以Ô_tcs为前缀的宏,这些宏根据相应的情况映射到Ôstr、_mbs或Ôwcs
函数。若要生成Ô ,请定义Ô_MBCS符号。若要生成Ô,请定义Ô_UNICOD
E符号。默认情况下,为Ô4应用程序定义的是Ô_MBCS。有关更多信息,请参见Ô*
3O OOO中的一般文本映射O O。文档来自于网络搜索
*3中的一般文本映射
为简化代码传输以方便国际使用,$运行时库为许多数据类型、例程和其他对象
提供Ô$特定的“一般文本”映射。您可以使用Ô*3中定义的这些映射,根据使
4 / 18
剩余17页未读,继续阅读
资源评论
学习使人快乐张
- 粉丝: 14
- 资源: 6万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功