MENU

STL的神奇容器之string

April 4, 2020 • 算法

1979年,贝尔实验室的Bjarne Stroustrup设计开发了一款新的中级语言C++,进一步扩充和完善了C语言,而他的一个重要贡献就是引进了面向对象设计的新特性

今天要讲的,就是C++里面的一个常用的类——string

string的基本用法

//头文件
#include<string>
using namespace std;

string类的构造函数

string str="abcd";
//注意,当构造的string太长时,会抛出length_error异常

string类的输入输出

string 类重载了输入输出运算符,可以像对待普通变量那样对待string变量,即使用>>输入,<<输出

输出字符时,可以直接str[index] (index是你想要输出字符的索引),获取string的长度可以直接使用 .length()方法获取

string类的拼接

string类可以直接使用+或者+=进行拼接,十分方便,再也不用使用strcat()等函数来拼接字符串了,最主要是不用担心空间的溢出等问题

string字符串的增删查改

1.插入字符串

insert()函数可以直接在string字符串中指定位置插入另一字符串,其原型为:

string& insert (size_t pos, const string& str);
//pos表示要插入的位置,str表示要插入的字符串,可以是C风格的字符串,也可是string字符串
2.删除字符串

erase()函数可以删除string中的一个子字符串,其原型为:

string& erase (size_t pos = 0, size_t len = npos);
//pos表示要删除的位置,len表示要删除的长度,如果不指明,则会将后面的全部删掉
3.提取子字符串

substr()函数用于从string字符串中提取子字符串,其原型为:

string substr (size_t pos = 0, size_t len = npos) const;
//pos表示要提取的初始下标,len为要提取的长度
4.字符串查找

find()函数用于在string字符串中查找子字符串出现的位置,原型为:

size_t find (const string& str, size_t pos = 0) const;
size_t find (const char* s, size_t pos = 0) const;
//第一个参数是要查找的子字符串,第二个是开始查找的位置,如果不指明则从开始查找
//如果没有找到则返回4294967295

rfind()函数用于从字符串末尾开始查找子字符串出现的位置,原型参考find()

find_first_of()函数用于查找字符串共同拥有的字符在字符串中首先出现的位置


更多函数请参考:

作者:NorthCity1984
出处:https://grimoire.cn/algorithm/stl-string.html
版权:本文《STL的神奇容器之string》版权归作者所有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任