STL库学习

来源:互联网 发布:淘宝开店卖景点门票 编辑:程序博客网 时间:2024/06/06 05:56

string(头文件 #include<string>)个人感觉常用的一些方法
1:查找算法find()函数

string = "123456789";string str1 = "122";int pos = str.find(str1,0);//如果pos位置为-1 那么说明没有找到//否则就是找到了 而这里找到的是第一次出现str1的位置 并不能找到全部的//想找到全部的可以通过一个循环进行查找while(pos!=-1){   cout<<pos<<endl;   pos = pos +1;   pos = str.find(str1,pos);//从当前位置的下一个位置进行查找}

2删除字串 erase(字符串)

string str = "123456";string str2 = "456";string::iterator it = fin(str.begin(),str.end(),str2);//find函数返回值为一个迭代器 如果找到了返回值不等于str.end() 如果没找到 返回值为str.end() 其头文件是 #include<algorithm>if(it ! = str.end())str.erase(it);//注意这里删除的是第一个出现str2的位置并不能完全删除str2 如果想完全删除需要循环

3 翻转字符串 reverse

string str = "123456";reverse(str.begin(),str.end());//第一个参数是反转开始的位置 第二个参数是反转结束的位置cout<<str<<endl;

4.截去字符串substr(int begin ,int end);

 str = str.substr(1,5);//1是开始的位置 5是结束的位置 cout<<str<<endl;

5 字符串大小写转换 transform(int begin,int end,iteratot it,转换成大写还是小写)

transform(str.begin(),str.end(),str.begin(),::toupper);//::toupper是转大写//::tolower是转小写
原创粉丝点击