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

C++_string.pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  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文档。上传文档
查看更多
C++_string.ppt

5.6.2 标准的C++string类 (4) string类的输入输出。输出与C风格字符串同样方便,使用插入运算符和cout。输入如用提取运算符,代码读取的是以空白字符结束的字符串,输入完整的字符串可用非成员函数getline,注意格式: getline(cin,str); //串以’\n’结束 getline(cin,str,ch); //串以ch结束 (5) string类有一些常用的成员函数可进行字符串处理: str.substr(pos,length1); //返回对象的一个子串,从pos位置起,长length1个字符 str.empty( ); //查是否空串 str.insert(pos,str2); //将str2插入str的pos位置处 str.remove(pos,length1); //在str位置pos处起,删除长度为length1的字串 str.find(str1); //返回str1首次在str中出现时的索引 str.find(str1,pos); //返回从pos处起str1首次在str中出现时的索引 str.length(str); //返回串长度 (6) C字符串到string类对象是由构造函数隐式自动进行,而string类对象到C字符串的转换必须执行显示的类型转换,应调用成员函数 str.c_str( ); //将string类转换为C风格字符串,返回char* 回文是指顺读和反读都一样的串,这里不分大小写,并滤去所有非字母字符,如: Madam,I’m Adam. Golf,No Sir, prefer prison flog! 都是回文。 bool is_pal(const string s){ //判断是否回文 string punct(,;:.?\ ); //包括空格符 string str(make_lower(s)); str=remove_punct(str,punct); //滤去所有非字母字符 return str==reverse(str);} string make_lower(const string s){ //所有大写改为小写 string temp(s); int i,s_length=s.length(); for(i=0;is_length;i++) temp[i]=tolower(s[i]); return temp;} void swap(char ch1,char ch2){ //交换两个字符 char temp=ch1; ch1=ch2; ch2=temp;} string reverse(const string s){ //返回反转的字符串 int start=0,end=s.length(); string temp(s); while(startend){ end--;swap(temp[start],temp[end]);start++; } return temp;} string remove_punct(const string s,const string punct){ string no_punct; //放置处理后的字符串 int i,s_length=s.length(),p_length=punct.length(); for(i=0;is_length;i++){ string a_ch=s.substr(i,1); //单字符string int location=punct.find(a_ch,0);//从头查找a_ch在punct中出现的位置 if(location0||location=p_length) no_punct=no_punct+a_ch; //punct中无a_ch,a_ch拷入新串 } return no_punct; } //将第一个字符串中所包含的与第二个字符串中相同的字符删去 int main( ) { string str; cout请输入需判断是否为回文的字符串,以回车结束。\n; getline(cin,str); if(is_pal(str)) coutstr是回文。\n; else coutstr不是回文。\n; return 0; } * * 字符数组即数组中的每一个元素是字符,在C++语言中字符型数组的应用很多: (1)

文档评论(0)

000 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档