阅读:112
定义字符串,如果未赋初值,则默认是 ""
,即空字符串,结尾也没有结束标志 \0
#include <string>
using namespace std;
int main() {
string s1; // 空字符串
string s2(5, 's'); // s2 = "sssss";
}
常用成员函数:
求字符串长度
str.length();
字符串的拼接,可以用 +
或者 +=
直接拼接字符串
用 +
拼接字符串时,可以两边都是 string
字符串;一个 string
字符串和一个 C风格字符串;一个 string
字符串和一个字符数组;一个 string
字符串和一个单独字符;
string s1 = "hello world";
string s2 = "hhhhh";
s2 = s2 + s1;
插入字符串
str.insert(pos, new_str);
pos
表示原字符串 str
中要插入的位置,即下标(位置要小心越界)
new_str
表示要插入的字符串,可以是 string
字符串,也可以是C风格的字符串
删除字符串
str.erase(pos=0, len);
pos
表示字符串 str
中要删除的起始位置,即下标(默认为0)
len
表示要删除的字符串长度,如果不设置 len
,则默认删至结尾
提取字符串
str.substr(pos=0, len);
pos
表示要从老字符串 str
中提取的起始位置,即下标(默认为0)
len
表示新字符串的长度
字符串的查找:
1、find()
用于在 str1
字符串中查找 str2
字符串出现的位置
str1.find(str2, pos);
str1
表示老字符串
str2
表示新字符串
pos
表示开始查找的位置,即起始下标,默认为0
返回值为下标(类型是 int
)
2、rfind()
用于在 str1
字符串中查找 str2
字符串出现的位置
str1.rfind(str2, pos);
str1
表示老字符串
str2
表示新字符串
pos
表示从 str1
的起点开始查找,直到 pos
下标结束
返回值为下标(类型是 int
)
3、find_first_of()
用于查找两个字符串中共同具有的字符在 str1
字符串中首次出现的位置
str1.find_first_of(str2);
str1
表示老字符串
str2
表示新字符串
返回值为下标(类型是 int
)