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的第一位;code

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

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

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

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

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

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

第二种 删除一个区间内的全部元素
例如:变量

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指向的是尾后位置

相关文章
相关标签/搜索