GESP-3级-21.字符及字符串处理(课件).pptxVIP

GESP-3级-21.字符及字符串处理(课件).pptx

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

21.字符及字符串处理;

本章内容

介绍字符串处理函数,以及字符串类string。

介绍字符转换与编码问题的处理方法及例题解析。;

用草串着卖的鸡蛋

抱一喜欢地理知识。一天,他开心地跟爸爸分享他在地理书上看到的有趣故事。

抱一:爸爸,你知道吗,外公在超市买的鸡蛋都是一盒一盒的,或者是用蛋托装着的。但是,在我们国家,有一个地方,云南省,鸡蛋是用草串着卖的。

爸爸:我知道呀,云南十八怪之一,鸡蛋用草串着卖,就像下图那样。;

用草串着卖的鸡蛋

抱一有点小失望:你怎么也知道呀。

爸爸:你的书我也看过呀。而且,你看,用草串起来的一串串鸡蛋,非常像一个个字符串哦。我们今天要学的string类型的字符串,一个变量就可以存储一个字符串,是不是非常像鸡蛋串在一起呀?;

1.字符串处理函数

在C++语言中,要存储和处理字符串,有两种方式:字符数组和string类型。

使用字符数组存储字符串时,对字符串的处理需要借助一些字符串处理函数,这些函数对小学生来说比较难,但只要会用就可以了,就像求平方根时只需要知道怎么调用sqrt函数就行了。

C++也提供了功能更强大的string类型,string类型包含了非常多的函数。;

1.字符串处理函数

头文件string.h/cstring里定义了一些与字符串处理相关的函数,常用的有以下几个。

注意,这些函数的参数和返回值出现了char*,这是字符指针。但本书没有讲指针。我们学过字符数组,字符数组名就相当于字符指针。在以下函数中,如果形参为字符指针,调用函数时实参可以是字符数组;如果返回值是字符指针,其实返回的就是保存字符串的地址。;

(1)字符串连接函数strcat

原型:char*strcat(char*dest,constchar*src);

功能:第1个参数dest是目标字符串,第2个参数src是源字符串,把src所指向的字符串连到dest所指向的字符串后面。

返回值:返回连接后所得到的字符串的首地址,即第1个参数dest的值。

说明:①第1个参数所指向的存储空间必须足够大(足以容纳这两个字符串)。

②连接前,两串均以\0结束;连接后,dest字符串原先的\0取消,在新的dest字符串最后加\0。;

chars1[20]=Welcometo;

chars2[]=C/C++!;

coutstrcat(s1,s2)endl;//将s2连接到s1,输出连接后的s1:WelcometoC/C++!;

1.字符串处理函数

(2)字符串复制函数strcpy和strncpy

原型:char*strcpy(char*dest,constchar*src);

功能:第1个参数dest是目标字符串,第2个参数src是源字符串,把src所指向的字符串拷贝到dest所指向的存储空间里,将原有的字符覆盖。

返回值:返回拷贝后所得到的字符串的首地址,即第1个参数dest的值。

说明:①第1个参数所指向的存储空间必须足够大(足以容纳第2个字符串)。

②拷贝时\0一同拷贝过去。;

chars1[20]=WelcometoC/C++!;

chars2[]=C/C++!;

coutstrcpy(s1,s2)endl;//将s2拷贝到s1;

1.字符串处理函数

(2)字符串复制函数strcpy和strncpy

如果不想拷贝src整个字符串,可以指定拷贝的字符数,需要使用strncpy函数。strncpy函数的原型为:char*strncpy(char*dest,constchar*src,size_tn);

strncpy函数比strcpy函数多了参数n,用来指定拷贝的字符数。

注意:strncpy函数在将源字符串中的n个字符拷贝到目标字符串后,不会在目标字符串末尾加上串结束标记\0,这个细节上的差别可能会导致程序输出奇怪字符甚至导致程序运行结果不正确。如下面的例子。

chars1[20]=Helloworld!;chars2[20];

strncpy(s2,s1,5);//拷贝后,s2中存储了Hello,但后面没有串结束标记

couts2endl;//输出Hello,后面还有一些奇怪的字符

解决上述问题的方法是:在调用strncpy函数前将目标字符串清空,

您可能关注的文档

文档评论(0)

k12学习资料 + 关注
实名认证
文档贡献者

教师资格证持证人

k12学习资料

领域认证 该用户于2023年06月02日上传了教师资格证

1亿VIP精品文档

相关文档