C++中string类常用方法总结

 

 

•参考资料

  [1]:百度图文👉  (提取码:7xdh) 

•定义

 声明一个字符串变量很简单:
  

1 string Str;

  这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。

  上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。

  String类的构造函数和析构函数如下:

 1 #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 }
View Code

•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位置插入一个字符串*

 

 1 #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 }
View Code
posted @ 2019-04-22 10:04  HHHyacinth  阅读(798)  评论(0编辑  收藏  举报