字符串(string)是C++语言中的一种重要的类型,它可以存储、操作字符序列,并支持很多字符串操作的函数和运算符。C++的字符串类型主要由头文件
一、头文件
在C++标准库中,头文件
二、构造和初始化字符串
在实际应用中,我们需要先定义一个字符串变量,再对其进行初始化和赋值。头文件
1. string():默认构造函数,创建一个空字符串。
2. string(const char* s):从c-style字符串构造一个字符串。
3. string(const string& str):从另一个字符串对象构造一个字符串。
4. string(size_t n, char c):创建一个包含n个字符c的字符串。
5. string(iterator first, iterator last):从迭代器范围内的字符构造一个字符串。
例如:
```
string s1; //定义一个空的字符串
string s2 = "hello"; //用一个c-style字符串初始化一个字符串
string s3(s2); //用s2构造另一个字符串对象
string s4(5, 'a'); //创建一个包含5个a的字符串
string s5(s2.begin(), s2.end()); //用迭代器范围内的字符构造一个字符串
```
三、字符串的赋值和拼接
除了创建一个新的字符串,头文件
1. assign()函数:将新值赋给现有字符串
2. append()函数:将一个字符串附加到另一个字符串的末尾
3. operator+=()运算符:用于将一个字符串附加到另一个字符串的末尾
4. operator+()运算符:用于将两个字符串合并成一个字符串
例如:
```
string s6 = "world";
s2 = s6; //用s6的值来设置s2
s2.assign("hi"); //用c-style字符串"hi"来设置s2
s2.append(" there"); //将" there"附加到s2的末尾
s2 += " John"; //用运算符+=将" John"附加到s2的末尾
string s7 = s2 + " " + s6; //将s2和s6连接为s7
```
四、字符串的比较和查找
头文件
1. compare()函数:用于比较两个字符串
2. operator==、operator!=、operator<、operator<=、operator>、operator>=运算符:用于比较两个字符串
3. find()函数:查找一个字符串在另一个字符串中的位置
4. rfind()函数:查找一个字符串在另一个字符串中最后一次出现的位置
5. find_first_of()函数:查找一个字符串中任何一个字符在另一个字符串中第一次出现的位置
例如:
```
string s8 = "hello";
string s9 = "world";
int result = s8.compare(s9); //比较s8和s9的大小,返回值为一个整数
bool isEqual = (s8 == s9); //判断s8是否等于s9
bool isGreater = (s8 > s9); //判断s8是否大于s9
int pos = s8.find("ll"); //查找子串"ll"在s8中第一次出现的位置
int lastPos = s8.rfind("l"); //查找字符"l"在s8中最后一次出现的位置
int anyPos = s8.find_first_of("qwrt"); //查找字符"q","w","r","t"在s8中第一次出现的位置
```
五、其他字符串操作
头文件
1. size()函数:返回字符串中字符的数量
2. length()函数:返回字符串中字符的数量
3. clear()函数:清空字符串中的内容
4. empty()函数:判断字符串是否为空
5. substr()函数:从字符串中提取子串
6. replace()函数:替换字符串中的部分字符
7. insert()函数:将一个字符串插入到另一个字符串的中间
例如:
```
int length1 = s8.length(); //获得s8中字符的数量
s8.clear(); //将s8中的字符清空
bool isEmpty = s8.empty(); //判断s8是否为空
string subStr = s9.substr(1, 4); //从s9的第二个字符开始提取四个字符("orld")
s9.replace(1, 3, "ipp"); //用子串"ipp"替换s9从第二个字符开始的三个字符("orl" -> "ipp")
s9.insert(2, "h"); //在s9的第三个字符位置插入字符"h"("wiipp" -> "wihipp")
```
六、字符串头文件
微信扫一扫,领取最新备考资料