欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++ STL String类学习 (待续)

程序员文章站 2022-03-03 12:19:42
头文件: 字符串类初始化: 字符串类基本操作: 0、获得字符串长度 1、索引 2、返回子串 (切片) 3、插入字符串 4、删除部分 5、末尾插入字符串 6、替换操作 ......

头文件:<string>

 

字符串类初始化:

string s1="aabbba";
s2=string("bbb");  
string s3=string(s1);  //互不影响

 

字符串类基本操作:

    0、获得字符串长度

int len = s.length()

 

    1、索引

char c = s[i]; //切片操作,每个s[i]都是字符

   

    2、返回子串 (切片)

//s.substr()函数 返回一个子串
s1 = s.substr(1) //从下标为1字符开始一直到最后
s1 = s.substr(x,y) //从下标是x的字符开始,长度为y的字符串

 

    3、插入字符串

//利用s.insert()函数插入字符串

s1=s.insert(2,"abcd") //在下标为2的字符前插入字符串

 

    4、删除部分

string s;
s.erase(x,y);/*删除从下标为x的字符开始,长度为y的字符串。并返回删除后的子串。*/

s="abcdefg";
s.erase(2,3); //删除从下标为2的字符开始,长度为3的字符串

//s=="abfg"

    

    5、末尾插入字符串

string s="abcde";
string s1="thankyou";
string s2="";
//用法1:
s2= s.append("thankyou"); 
s2= s.append(s2);
s2= s + s1;  //以上三条式子s2的值相等

//用法2:
s.append("howareyou",2) //"howareyou"前2个字符加到s末尾

//用法3:
s.append("howareyou",2,3) /*从"howareyou"下标为2的字符开始,在s加入长度为3的字符串 (对添加的字符串切片后添加到原字符串)

 

    6、替换操作

s.replace(1,3,"abc")
 /*下标为1到下标为3的字符组成的子串被替换为abc,若想替换单个字符,需要将被替换字符的下标写两次 如:s.replace(1,1,"abc")*/