C++容器(String)

2

C++容器(String)

  容器是C++非常方便的功能,今天给小伙伴们介绍string库,string库是C++专门用于处理字符串的库,里面内置了许多字符串的算法,在刷题时常常使用它。

string容器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include<iostream>
using namespace std;

int main() {
//创建时直接当成数据类型使用即可,不需要记构造函数,使用最广泛最方便。
string a = "hello world!";
string b = "hello";
cout << "a = " << a << endl;
cout << "b = " << b << endl;

//length方法,求出字符串的长度。
int lenA = a.length();
cout << "lenA = " << lenA << endl;

//字符串截取操作,返回一个字符串。如果不指定,默认截取到最后一个字符。
string c = a.substr(3);
string d = a.substr(3, 4);
cout << "c = " << c << endl;
cout << "d = " << d << endl;

//字符串拼接操作,使用加法即可,不需要记append方法。
string e = a + " hello C++";
cout << "e = " << e << endl;

//查找操作,find为从左到右查找,rfind为从右到左查找,如果不指定则从头开始查找,如果指定则从指定位置开始。
int indexL = a.find("l");
int indexL1 = a.find("l", 3);
int indexR = a.rfind("l");
cout << "indexL = " << indexL << endl;
cout << "indexL1 = " << indexL1 << endl;
cout << "indexR = " << indexR << endl;

//字符串替换操作,replace(pos, n, str)用str替换pos后面n个字符,注意这个操作会改变原字符串。
string f = a.replace(6, 5, "C++");
cout << "f = " << f << endl;
cout << "a = " << a << endl;

//字符串字典序比较,按照ASCII码进行字符串比较,大于则返回1,小于则返回-1,等于返回0
int compare = a.compare("Hello world!");
cout << "compare = " << compare << endl;

//索引操作,返回指定位置的字符,也可以使用at方法。
char at = a[6];
cout << "at = " << at << endl;

//插入操作,insert(pos, str)在pos处插入str字符串,注意这个操作会改变原字符串。
string g = a.insert(6, "world! hello ");
cout << "g = " << g << endl;
cout << "a = " << a << endl;

//删除操作,erase(pos, n)删除pos后面的n个字符,注意这个操作会改变原字符串。
string h = a.erase(6, 7);
cout << "h = " << h << endl;
cout << "a = " << a << endl;

//字符串打印,有很多种方法,可以使用普通的方法,i从0遍历到length(),对于每一个i,使用索引方法获得。
//在这里使用一种迭代器方法,begin()返回起始位置的迭代器对象,不可以直接访问,需要用指针才可以访问,end()同理。
for (string::iterator it = a.begin(); it != a.end(); it++) {
cout << *it << "-";
}

return 0;
}

1

C++小结

  当然了C++字符串处理操作还有很多很多,在这里也不可能一一讲解,但是常用的一些操作都已经介绍,尤其是截取,增加,查找,比较,插入,删除,替换这些操作,是笔试,面试中一旦考察字符串一定会用到的函数,请小伙伴们务必放在心上。

-------------本文结束感谢您的阅读-------------
0%