C++标准模板库(STL)之string

1.string的定义

定义string的方式和基本数据类型相同,只需在string后面跟上变量名即可.

2.string中内容的访问

(1)通过下标访问

     一般来说,可以直接像字符数组那样去访问string.

(2)通过迭代器访问

     string::iterator it;

     string和vector一样,支持直接对迭代器进行加减某个数字.

3.string常用函数

(1)operator+=

     这是string的加法,可以将两个string直接拼接起来.

(2)compare operator

     两个string类型可以直接使用==,!=,<,<=,>,>=比较大小

(3)length()/size()

     返回string的长度.

(4)insert()

     insert(pos,string)在pos号位置插入字符串string.

(5)erase()

    <1>删除单个元素

          st.erase(it),it为需要删除的元素的迭代器

    <2>删除一个区间的所有元素

          st.erase(first,last),其中first为删除区间起始的迭代器,而last为删除区间末尾迭代器的下一个地址,也即删除[first,last)

          st.erase(pos,length),其中pos为需要开始删除的起始位置,length为删除字节的个数

(6)clear()

     清空string中的数据.

(7)substr()

    substr(pos,len)返回从pos号位开始,长度为len的字串.

(8)string::npos

    用作find失配时的返回值.

(9)find()

    <1>str.find(str2) ,当str2是str的字串时,返回其在str第一次出现的位置;否则返回string::npos.

    <2>str.find(str2,pos) ,从str的pos号位开始匹配str2,返回值与上相同.

    时间复杂度为O(nm),其中n和m分别为str和str2的长度.

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string str1="Zuo Jinhui is a",str2="handsome boy.";
    string str=str1+str2;
    cout<<"原字符串为:"<<str;
    cout<<endl<<"原字符串的长度为"<<str.length()<<endl; 
    str.insert(15," sunny and "); 
    cout<<"插入后字符串为:"<<str<<endl;
	str.erase(3,7) ;
	cout<<"删除后字符串为:"<<str<<endl; 
	cout<<"截取后字符串为:" <<str.substr(str.size()-24,23)<<endl;
	string str3="Zuo" ;
	if(str.find(str3)!=string::npos) 
	cout<<"Zuo第一次出现的号位为:"<<str.find(str3)<<endl; 
	cout<<"测试结束!!!";
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值