码迷,mamicode.com
首页 > 编程语言 > 详细

【c++】string详解

时间:2020-01-03 10:38:04      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:cin   cstring   生成   string   inf   基本   namespace   pre   ring   

我能不用char*就不用,而使用C++标准程序库中的string类。string不必担心内存、字符长度等等的问题,并且string作为一个类,它的操作函数能够基本满足我的需要。string使用起来非常简单,我们用=赋值,用==比较是否相同,用+合并字符等等。

使用之前需要包含头文件 #include<string>

1.声明字符,调用构造函数初始化字符串

a.将strA赋值为空字符。

string strA;

b.复制字符串赋初值,将“B"赋值给strB,将strB赋值给strA。

1     string strB("B");
2     string strA(strB);

c.截取字符串,赋初值

 1 #include <string>
 2 #include <iostream>
 3 using namespace std;
 4 int main()
 5 {
 6     string strA("ABCDEF");
 7     string strB(strA, 1);//从1开始截取到最后
 8     cout << strB << endl;
 9     string strC(strA, 1, 2);//从1开始截取2位
10     cout << strC << endl;
11     string strD(strA, 1, 20000);//从1开始截取到最后
12     cout << strD << endl;
13 //     string strE(strA, 10000, 2);//错误
14 //     cout << strE << endl;
15     cin.get();
16     return 0;
17 }

技术图片

 d.将C字符串作为strA的初值???没搞懂CString?

string strA(cstr); //将CString作为s的初值

e.将C字符串前chars_len个字符作为字符串strA的初值。???没搞懂CString?

string strA(chars,chars_len);

f.   string s(num,c) //生成一个字符串,包含num个c字符
g.  string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值
h.  s.~string() //销毁所有字符,释放内存

 2.字符串操作函数

a.    =,assign()   //赋新值

 1 #include <string>
 2 #include <iostream>
 3 using namespace std;
 4 int main()
 5 {
 6     string strA;
 7     
 8     strA = "A";
 9     cout << strA << endl;
10     
11     strA.assign("B");
12     cout << strA << endl;
13 
14     cin.get();
15     return 0;
16 }

b.    swap()   //交换两个字符串的内容

 1 #include <string>
 2 #include <iostream>
 3 using namespace std;
 4 int main()
 5 {
 6     string strA("A");
 7     string strB("B");
 8     cout << strA << endl;
 9     cout << strB << endl;
10 
11     strA.swap(strB);
12     cout << strA << endl;
13     cout << strB << endl;
14     cin.get();
15     return 0;
16 }

技术图片

c.  +=,append(),push_back() //在尾部添加字符

 1 #include <string>
 2 #include <iostream>
 3 using namespace std;
 4 int main()
 5 {
 6     string strA("A");
 7     string strB("B");
 8     
 9     strA += strB;//AB
10     strA += "C"; //ABC
11     strA += "DD"; //ABCD
12     cout << strA << endl;
13 
14     strA.append("E");//ABCDE
15     strA.append("F");//ABCDEF
16     strA.append("GG");//ABCDEFGG
17     cout << strA << endl;
18 
19     strA.push_back(H);//添加元素  ABCDEFGGH
20     strA.push_back(I);//ABCDEFGGHI
21     strA.push_back(J);//ABCDEFGGHIJ
22     strA.push_back(J);//ABCDEFGGHIJJ
23     cout << strA << endl;
24 
25     cin.get();
26     return 0;
27 }

技术图片

【c++】string详解

标签:cin   cstring   生成   string   inf   基本   namespace   pre   ring   

原文地址:https://www.cnblogs.com/KMould/p/12143460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!