C++中string类常用方法总结
•参考资料
[1]:百度图文👉 (提取码:7xdh)
•定义
声明一个字符串变量很简单:
1 string Str;这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。
上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。
String类的构造函数和析构函数如下:
View Code1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int main() 5 { 6 string s("012345678"); 7 char ss[10]="012345"; 8 string a;//生成一个空字符串s 9 string b(s);//拷贝构造函数,生成s的复制品,b="012345678" 10 string c(s,2);//从s中的2位置开始,拷贝到c中,c="2345678" 11 string d(s,2,3);//从s中的2位置开始,拷贝3个字符到c中,c="234" 12 string e(ss);//将char型字符串拷贝到e中,e="012345" 13 string f(ss,4);//将char型字符串的前4个元素拷贝到f中,f="0123" 14 string g(4,'a');//生成一个字符串,包含4个'a'字符,g="aaaa"; 15 /** 16 以区间s.begin,s.end()(不包含end)内的字符作为字符串h的初值 17 类似于string h(s) 18 h="012345678" 19 */ 20 string h(s.begin(),s.end()); 21 22 cout<<"a="<<a<<endl<<"b="<<b<<endl<<"c="<<c<<endl<<"d="<<d<<endl; 23 cout<<"e="<<e<<endl<<"f="<<f<<endl<<"g="<<g<<endl<<"h="<<h<<endl; 24 25 h.~string();//销毁h串中的所有字符,释放内存 26 }•insert()的用法
用法1:
1 cin>>s; 2 int a,b; 3 cin>>a>>b; 4 s=s.insert(a,b,'*');///在s的a位置插入b个*用法2:
1 cin>>s; 2 int a; 3 cin>>a; 4 s=s.insert(a,"*");///在s的a位置插入一个字符串*
View Code1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int main() 5 { 6 string a="012345678"; 7 string b="01234"; 8 string c="012345678"; 9 10 a.erase(2,3);//删除从2开始的3个字符,a="015678" 11 b.insert(0,"abc");//在0位置插入字符串"abc",b="abc01234" 12 13 string d=c.substr(2);//从2位置开始到结束,d="2345678" 14 string e=c.substr(2,3);//从2位置开始的3个字符,e="234" 15 }