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