第二十一章:字符串函数进阶

本文详细介绍了C++中的字符串函数,包括长度、查找、插入、删除等,并通过实例解析了find、reverse、tolower/toupper等函数的使用。此外,还深入讲解了stringstream流,阐述了其作为字符串与其他类型转换的工具,以及如何从数据中拆分字符串、整型和浮点型。最后,给出了相关的例题和作业,帮助读者巩固学习。
摘要由CSDN通过智能技术生成

 字符串进阶-字符串函数应用

c++提供了大量的字符串函数,供我们在解题时使用。

一、常用函数介绍

1-长度 (有返回值)

a.size()   或   a.length()

Copy

2-查找(有返回值)

a.find("hello")  //返回子串hello在a中第一次出现时开头字母h的下标
    
a.find('h') //返回字符h在a中第一次出现时的下标
    
a.find(b) //返回b在a中第一次出现时的相关下标信息(b可以是字符或字符串)
a.find('h',2)//表示从下标2开始查找字符h第一次出现的位置

Copy

关于find函数的返回值判定:

很明显a中存在待找字符(串)时,会返回相关下标值;

不存在的时候,会返回 string :: npos ;

if 条件表达式: a.find("hello") == string::npos 表示找不到

3-插入(无返回值)

a.insert(2,"hello"); //在a中下标2开始插入“Hello",使a的值变化

举例:string a="topscoding";
    a.insert(2,"hello"); 
        cout<<a;
运行结果:tohellopscoding

Copy

4-删除(无返回值)

a.erase(2,3); //在a中下标2开始,删除3个字符,使a的值变化

举例:string a="topscoding";
    a.erase(2,3);
        cout<<a;
运行结果:tooding

Copy

5-提取(有返回值)

a.substr(2,3);//提取a中下标2开始的3个字符(a本身值不变,这相当于是复制过程)

举例:string a="topscoding";
        cout<<a.substr(2,3);
运行结果:psc

Copy

6-翻转(无返回值)

reverse(a.begin(),a.end());//将字符串a的内容完全倒置,使a的值变化。

举例:string a="topscoding";
        reverse(a.begin(),a.end());
    cout<<a;
运行结果:gnidocspot

Copy

7-替换(无返回值)

a.replace(2,3,"hello");//将字符串a中,从下标2开始连续删除3个字符,并用”hello"替换(替换内容与待替换内容长度可以不同)

举例:string a="topscoding";
        a.replace(2,3,"hello");
    cout<<a;
运行结果:tohellooding

Copy

replace函数使用过程中,代替换内容可以是字符,但 替换内容 必须是字符串。

8-判空(有返回值)

a.empty() //串空返回1(true),非空返回0(false)。
    
举例:string a="topscoding";
        if(a.empty()==1) cout<<"haha";
    else cout<<"wuwu";
运行结果:wuwu

Copy

9-清空(无返回值)

a.clear(); //将a的内容清空,变为空串

举例:string a="topscoding";
        a.clear();
    cout<<a.size();
运行结果:0

Copy

10-追加(无返回值)

a.append("hello"); //将a的内容增添一截

举例:string a="topscoding";
        a.append("hello");
    cout<<a;
运行结果:tposcodinghello

Copy

函数相关题目

1、回文密码

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值