STL String常用函数备注

对于String库的函数用的比较少,常规的以下size()函数什么的不在列举,但是有些函数很好用,手写做一下备注,省的到处查;

1.string使用print输出:
常规条件下string只能使用cin和cout,但是使用printf输出借助函数也可以;
使用c_str()函数

string str="abcd";
printf("%s\n",str.c_str())l

2.insert插入:
用两种形式:
第一种,insert(pos,string)
在pos位置插入string,注意这里的pos是要插入的string第一个字符应该在的位置;
例如insert(3,str2),str2插入到从零开始算第四个位置,也就是存储的是str2的第一位;

第二种,insert(it,it2,it3)
这里的it代表的是迭代器指针,第一个指向要插入的位置,后两个指向插入string的起始位置和末位置;
例如:

str.insert(str.begin()+3,str2.begin(),str2.end());

这里的插入位置的迭代器和上一种相同,就是插入string第一个字符的起始位置;

3.erase()删除区间内的元素:
第一种 删除单个元素:
例如:

str.erase(str.begin()+4);

这里删除的是迭代器指向的元素;

第二种 删除一个区间内的所有元素
例如:

str.erase(str.begin()+2,str,end()-1);

这里的区间是闭区间,包括迭代器指向的元素;

第三种 删除区间内元素的另一种形式
形式为str.erase(pos,length)
例如:

str.erase(3,2);

这里删除的是pos位开始的length个字符,length从1开始计数,意为删除元素的总个数;

4.clear()清空函数:
清空字符串内的所有元素;

5.substr()截取函数:
substr(pos,len)返回从pos开始,总长度为len的子串;

6.find()查询子串函数:
str.find(str2)
当str2是str的子串时,返回其在str中第一次出现的位置,如果不是子串,返回string::npos(该变量常认为是find查询失败的标志);
也有形式:str.find(str2,pos),也就是从pos位开始匹配str2,返回值也是第一次出现的位置,只不过给查询的位置给定了一个起始的距离;

7.replace()替换函数:
str.replace(pos,len,str2)代表str的pos开始,len长度的子串替换为str2;
str.replace(it1,it2,it3)代表str的迭代器1,2内的刺穿替换为str2,注意,这里的str第二个迭代器it2指向的是尾后位置

你可能感兴趣的:(stl,c++)