c++string详解

Posted kmould

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++string详解相关的知识,希望对你有一定的参考价值。

我能不用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详解的主要内容,如果未能解决你的问题,请参考以下文章

20160219.CCPP体系详解(0029天)

20160220.CCPP体系详解(0030天)

20160217.CCPP体系详解(0027天)

20160209.CCPP体系详解(0019天)

20160224.CCPP体系详解(0034天)

PHP 代码片段