c++ stl 使用汇总(string,vector,map,set)

1.string

1>substr(),截取字串的方法。
返回一个从指定位置开始,并具有指定长度的子字符串。
参数 
start(必选),所需的子字符串的起始位置。字符串中第一个字符的索引为 0。
length(可选项).返回的子字符串中包含的字符数。第二个参数是指定子串的长度
备注.如果 length为0或负数,将返回一个空字符串。如果没有指定length参数,则子字符串将延续到字符串的结尾。

2>insert()

iterator insert( iterator loc, const TYPE &val ); 
void insert( iterator loc, size_type num, const TYPE &val ); 
void insert( iterator loc, input_iterator start, input_iterator end ); 

insert() 函数有以下三种用法: 

在指定位置loc前插入值为val的元素,返回指向这个元素的迭代器, 
在指定位置loc前插入num个值为val的元素 
在指定位置loc前插入区间[start, end)的所有元素 . 
举例: 

//创建一个vector,置入字母表的前十个字符 
vector <char> alphaVector; 
for( int i=0; i < 10; i++ ) 
  alphaVector.push_back( i + 65 ); 

//插入四个C到vector中 
vector <char>::iterator theIterator = alphaVector.begin(); 
alphaVector.insert( theIterator, 4, 'C' ); 

//显示vector的内容 
for( theIterator = alphaVector.begin(); theIterator != alphaVector.end(); theIterator++ ) 
  cout < < *theIterator; 

这段代码将显示:CCCCABCDEFGHIJ

3>erase(),删除字串的方法。

erase函数的原型如下:
(1)string& erase ( size_t pos = 0, size_t n = npos );
(2)iterator erase ( iterator position );
(3)iterator erase ( iterator first, iterator last );
也就是说有三种用法:
(1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符
(2)erase(position);删除position处的一个字符(position是个string类型的迭代器)
(3)erase(first,last);删除从first到last之间的字符(first和last都是迭代器)


 

posted @ 2014-11-14 16:41  雄哼哼  阅读(920)  评论(0编辑  收藏  举报