参考声明:
https://www.cnblogs.com/engraver-lxw/p/7581540.html
0.string的优势:
string类相比于字符数组(char[])而言,使用更加方便,同时也提供了将字符数组作为一种数据类型的方法。
1.使用string:
需要#include <string>
由于string类位于名称空间std内,因此必须使用using编译指令,或者使用std::string来引用它
#include <string>
using namespace std;
2.string 定义、初始化、赋值:
string str1; //create an empty string object
string str2 = " world"; //create an initialized string
string str3;
str1 = str2; //VALID,object assignment ok
str1 = "hello";
str3 = str1 + str2; //assign str3 the joined strings
str1 += str2; //add str2 to the end of str1
cout << "str1 is: " << str1 << endl;
cout << "str2 is: " << str2 << endl;
cout << "str3 is: " << str3 << endl;
/*
result is :
str1 is: hello world
str2 is: world
str3 is: hello world
*/
我们发现:
- string 类型可以在定义的时候初始化;
- string 定义后可以重新赋值;
- 可以将一个string对象赋值给另外一个string对象
- “+”,“+=”运算符可以进行string的拼接和附加
3.string类的其他操作:
头文件cstring 提供了C-风格的字符串。
#include<iostream>
#include<string>
#include<cstring>
strcpy(charr1,charr2) //copy charr2 to charr1
strcat(charr1,charr2) //append contents of charr2 to charr1
4.string的常用方法:
str.length() | 获取字符串长度 |
str.begin() | 获取字符串第一个字符 |
str.end() | 获取字符串最后一个字符 |
reverse(str.begin(),str.end()) | 反转字符串 |
str.find(element,index) | element 可以是单个字符,也可以是字符串;index可省略,表示从index(包含)位置开始查找,默认为0;返回首次匹配位置。 |
str.rfind(element,index) | 从指定位置反向查找 |