C++ string库
C++ string库
1 初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream>
#include<string>
using namespace std;
int main(){
string s; // 默认初始化,一个空白的字符串
string s1("ssss"); // s1是字面值"ssss"的副本
string s2(s1); // s2是s1的副本
string s3 = s2; // s3是s2的副本
string s4(10, '4'); // s4初始化
string s5 = "Andre"; // 拷贝初始化
string s6 = string(10, 'c'); // 可拷贝初始化,生成一个初始化好的对象,拷贝给s6
char cs[] = "12345";
string s7(cs, 3); // 复制字符串cs的前三个字符到s当中
string s8 = "abcde";
string s9(s8, 2);
string s10 = "asdsfasdgf";
string s11(s10, 3, 4); // s4是s3从下标s开始4个字符的拷贝,超出s10.size出现未定义
return 0;
}
2 string读入
1
2
3
string s;
cin >> s; //不能读入空格,以空格,制表符,回车符作为结束标志
getline(cin, s); //可以读入空格和制表符,以回车符作为结束的标志
3 常用成员函数
size()
或length()
:返回字符串的长度。empty()
:检查字符串是否为空。substr(pos, len)
:返回从位置pos
开始,长度为len
的子字符串。append(str)
:在字符串末尾追加另一个字符串str
。insert(pos, str)
:在位置pos
插入另一个字符串str
。erase(pos, len)
:从位置pos
开始删除长度为len
的子字符串。replace(pos, len, str)
:从位置pos
开始替换长度为len
的子字符串为str
。find(str, pos)
:从位置pos
开始查找子字符串str
的位置,如果找到则返回位置,否则返回std::string::npos
。
This post is licensed under CC BY 4.0 by the author.