网站大量收购独家精品文档,联系QQ:2885784924

字符及字符串处理.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第10章字符及字符串处理本章将介绍Linux系统中的字符编码,以及如何利用C语言标准函数库中的函数处理字符、字符串和内存中的数据。字符处理库“ctype.h”、实用函数库“stdlib.h”和字符串处理库“string.h”内的函数是本章的重点,这些函数是开发文本编辑器、通信软件等程序的基础。另外,本章还将介绍如何使用简单的字符串处理算法设计文本加密程序,以加深读者对字符串处理函数工作原理的认识。10.1字符编码最早的字符编码是布莱叶发明的盲文体系,他用凸凹不平的点所组成的阵列来表示字符,使盲人能够阅读和书写。计算机受限于逻辑电路,并不能直接识别和表示字符,早期的计算机科学家受到布莱叶盲文的启示,使用有规则的二进制序列代表字符,于是形成了计算机字符编码体系。ASCII编码的全称是美国信息交换标准编码,是当前最流行的计算机字符编码系统之一。ASCII编码体系是7位,用十六进制数表示是0x00~0xFF,共有128个元素。其中,前32个元素和最后一个元素是用于字符处理时的控制指令。ASCII编码中大写字母和小写字母的差值是20h,所以将大写字母转换为小写字母,或将小写字母转换为大写字母非常方便。10.1.1ASCII编码Unicode编码是ASCII码的升级体系,这种编码使用2个、4个或更多字节的存储空间,已建立了10万字符的全球通用字符集。Linux系统中以UTF-8标准的Unicode编码作为系统的内码,每个字符的存储空间为2字节,但同时也能兼容ASCII码的单字节体系。01在Linux系统上开发程序时,应考虑双字节编码的问题,尽量不使用字符型变量接受系统传入的字符型数据,以及使字符型数组的长度保持为偶数。0210.1.2Unicode编码10.2字符处理库字符处理库“ctype.h”包含一系列对ASCII编码字符数据进行测试和处理的函数。每个函数接受一个整型数据作为参数,或者用文件结束符EOF作为参数。ASCII编码字符通常是1字节的整数,因此字符通常作为整数来处理。10.3字符串转换函数在设计程序时,有时需要将字符串所代表的数字转换为其他类型的数值,或者将其他类型的数值转换为用字符串表示的数据。实用函数库“stdlib.h”提供了这一类函数,如表10.2所示。10.4字符串处理函数字符串处理库“string.h”为处理字符串数据、比较字符串、在字符串中查找字符和其他字符串、标记字符串(将字符串划分成逻辑段)和确定字符串长度提供了常用的函数,见表10.3所示。10.5字符串比较函数字符存储形式为正整数,所以可比较两个字符之间的大小。字符串比较是将两个字符串位置相对应的字符逐个比对,比较两个字符串之间的大小。字符串比较函数对判断两个字符串中内容是否相同和对字符串排序非常有用。常用的字符串比较函数见表10.4。intstrcmp(constchar*s1,constchar*s2)比较字符串s1与字符串s2intstrncmp(constchar*s1,constchar*s2,size_tn)比较字符串s1与字符串s2前n个字符10.6字符串查找函数字符串处理库提供了在字符串中找到相同的字符或子字符串的函数,以及将字符串分组的函数。常用的字符串查找函数见表10.5所示。10.7字符串内存函数字符串处理库提供了内存函数,这些函数将内存块作为字符数组处理,能复制、比较和查找内存块。表10.6列出了字符串处理库中的内存函数。10.8字符串其他函数字符串处理库其余的两个函数是sterror()和strlen(),sterror()函数能从编译器获得错误代码的文本描述,使程序的错误能够获得直观的解答。strlen()函数的作用是返回一个字符串的长度,该长度是从字符串首地址到字符串结束符之间的字符距离,见表10.7所示。char*strerror(interrornum)用和系统相关的方式将errornum映射到纯文本字符串中,返回指向该字符串的指针size_tstrlen(constchar*s)确定字符串s的长度,返回字符串结束符前的字符个数9媒体播放器——实现播放列表检索功能本章实例将对其进行扩展,第一个任务是对播放列表进行排序,要求能比较整个字符串。第二个任务是在播放列表中进行查找,找到与查找条件匹配的项目。12

文档评论(0)

135****2083 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档