目录
一、声明
string a;
a = "abcdefg";
string b = "abcdefg";
string会随着存储的内容改变空间。
二、输入输出
输入输出
cin>>a;
cout<<a;
注意:string是C++的内容,所以只能用cin和cout
cin遇到空格就结束,并在后面添加'\0'
cout遇到'\0'就结束
含空格输入
getline(cin,a);
三、改变内容
string可以直接使用‘=’和‘+=’这两种符号改变内容
string a;
a = "abcdefg";//abcdefg\0
a += "efg";//abcdefgefg\0
a = "xyz"//xyz\0
四、方法
1.to_string()
//例
string a;
a = to_string(false);//"0\0"
a = to_string(123);//"123\0"
作用:将非字符类型转换成字符类型。
注意:在Dev-C++中使用to_string()函数需要在 工具-编译器选项-代码生成/优化-代码生成 中将 语言标准(-std)的值改为 ISO C++11
2.操作单个字符
获取:
a[n];
//or
a.at(n);
操作:
a[n] = 'x';
//or
a.at(n) += 3;
注意:修改单个字符时只能使用单引号。
3.当前有效长度
a.length();
//or
a.size();
时间开销:可不计
4.插入
a.insert(pos,n);
pos是位置,表示在pos和pos+1之间添加,n是内容。
5.清空
a = "";
//or
a.clear();
6.更改长度
a.resize(num);
作用:定义a的新长度
如果比原来短:删除多余内容;
如果比原来长:后面全部补'\0'
7.删除中间一段
a.erase(pos,len);
pos:必填,表示起始位置;
len:可选,表示删除的长度。如果不填该项pos后面的内容会全部删除。
8.截取子串
b = a.substr(pos,len);
pos:必填,表示起始位置;
len:可选,表示截取的长度。如果不填该项pos后面的内容会全部截取。
9.四大金刚
a.find_first_of(n,pos);
a.find_first_not_of(n,pos);
a.find_last_of(n,pos);
a.find_last_not_of(n,pos);
a:必填,表示要查找的字符串
n:必填,表示要查找的字符集合;
pos:可选,表示从该位置开始查找。
a.find_first_of(n,pos):表示字符串从前往后第一个出现在集合里的字符。
a.find_first_not_of(n,pos):表示字符串从前往后第一个没有出现在集合里的字符。
上面两个是从前往后查找的
a.find_last_of(n,pos):表示字符串从后往前第一个出现在集合里的字符。
a.find_last_not_of(n,pos):表示字符串从后往前第一个没有出现在集合里的字符。
上面两个是从后往前查找的
10.六大罗汉
isalpha(n);
isalnum(n);
islower(n);
isupper(n);
toupper(n);
tolower(n);
n:char类型的单个字符。
isalpha(n):是否为26个小写字母或者26个大写字母;
isalnum(n):是否为数字或字母;
islower(n):是否为小写字母;
isupper(n):是否为大写字母;
toupper(n):如果是小写字母,则转换成大写字母;
tolower(n):如果是大写字母,则转换成小写字母。
11.查找子串
a.find(n,pos);
a:必填,字符串;
n:必填,子串;
pos:选填,开始查找的位置。
找到了会返回位置,找不到返回-1。