string常用库函数

string常用库函数string常用库函数string的库函数非常多,若全部掌握是非常耗时间的,但是我们只需要掌握常用,重要的库函数即可,不常用的只需了解下即可,需要时,上C++标准官方库查找。这里列举出本篇说明的函数 insert、erase、swap、c_str、find、rfind、substr、g

大家好,欢迎来到IT知识分享网。

string常用库函数


 

string的库函数非常多,若全部掌握是非常耗时间的,但是我们只需要掌握常用,重要的库函数即可,不常用的只需了解下即可,需要时,上C++标准官方库查找。

这里列举出本篇说明的函数 insert、erase、swap、c_str、find、rfind、substr、getline


一:insert

功能:在pos的位置,插入字符串/字符

返回值:

  • 当我们只传递值时;该函数返回指向被插入到集合容器中的元素的迭代器。

  • 当我们传递带有值的位置时;该函数再次返回指向被插入到集合容器中的元素的迭代器。

  • 当我们通过 position_1 和 position_2 时;该函数返回从 position_1 开始到 position_2 结束的范围之间的一组值

 

示例:

1     insert(size_t pos, string& str);
2     //在pos位置插入字符串str
3     insert(size_t pos, size_t n, char c);
4     //在pos位置插入n个字符c
1     string s1("Hello World");
2     cout <<"插入前:"<< s1 << endl;
3     s1.insert(0, "xxx");//在下标为0的位置 插入字符串xxx
4     cout <<"插入后(字符串):"<< s1 << endl;
5     s1.insert(0, 5, 'w');//在下标为0的位置 插入5个字符w
6     cout << "插入后(字符):" << s1 << endl;

string常用库函数

 

 

insert也支持迭代器

1     s1.insert(s1.begin(), 2, 'o');//在begin的位置(开头)插入2个字符o
2     cout << "插入后(字符):" << s1 << endl;
3     s1.insert(s1.begin() + 3, 2, 'x');//在begin+3的位置(0+3)插入2个字符x
4     cout << "插入后(字符):" << s1 << endl;

string常用库函数

 


insert的效率不高,因为插入必然要挪到数据


二:erase

功能:删除字符

 1     s1.erase();//不给参数默认全删
 2     cout << "删除后:" << s1 << endl;
string常用库函数
 3     s1.erase(s1.begin());//删除第一个字符(默认从0开始)
 4     cout << "删除后:" << s1 << endl;
string常用库函数
 5     s1.erase(s1.begin() + 3);//删除第3个字符(默认从0开始)
 6     cout << "删除后:" << s1 << endl;
string常用库函数
 7     s1.erase(3, 2);//从第三个字符开始,删除两个字符(删除第三个,第四个)
 8     cout << "删除后:" << s1 << endl;
string常用库函数
 9     s1.erase(3);//从第三字符开始全删(包括第三个)
10     cout << "删除后:" << s1 << endl;

         
string常用库函数

 


 

三:swap

功能:交换

swap在std库里有一个,string里也有一个

区别:

  • string库里的 效率高,交换指针
  • std库里的 效率低 浅拷贝交换

string常用库函数

 

 

 


 

四:c_str 

功能 以c语言char类型打印

返回一个指向正规C字符串的指针, 内容与本string串相同

string常用库函数

 

 


 

五:find/rfind

功能 查找字符串/字符 返回它的下标(若没找到返回npos 类型最大值 或者 -1)

cout<<s2.find('H')<<endl;//从s2找字符H 返回它的下标
cout << s2.rfind('o') << endl; //反方向从s2找字符H 返回它的下标
cout << s2.find("ell");//从s2找字符串ell 返回第一个字符的下标
1 cout << s2.rfind("ll") << endl;//反方向从s2找字符串ll 返回它第一个字符的下标

 

 


六:substr

功能:取字符

s1.substr(pos,n);//从pos的位置开始(包括pos),取n个字符 (若没给n的参数,默认取完)

1 cout << s2.substr(1, 2) << endl;//从下标为1的位置开始 取2个字符

string常用库函数

 

 

1 cout << s2.substr(1) << endl;//从下标为1的位置开始 全部取完

string常用库函数

 

 


 

七:getline

功能:读取数据 

与cin相同 同样是读取数据

区别:

  • cin是流 而getline是函数
  • cin的结束标志是空格  而getline的结束标志是换行

getline(cin,name)

1     string s3("");
2     getline(cin, s3);
3     cout << s3 << endl;

string常用库函数

 

 


 

这就是本篇的全部内容,如果对您有帮助,希望能获得您的点赞,您的点赞就是对我的最大支持与动力!

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/31284.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信