本随笔是我自己在敲代码的时候一些感受,可能有的地方简略了,还有部分是融合了一点其他资料上的知识点,如有错误欢迎指出,谢谢_(:°з」∠)_
string类是C++中常用的字符串类型,比之普通的字符串要好用不少(自我感觉)
所需头文件:
#include<iostream>
#include<string>
//using std::string; 在只用string时可以就加这个
using namespace std;
初始化:
//注释是结果
char b[] = "This is bibi"; //This is bibi
string a = "My name is LJMZ"; //My name is LJMZ
string a1 = b; //This is bibi
string a2 ("This is lili"); //This is lili
string a3 (5 , 'a'); //aaaaa
string a4 (a , ); //me is LJMZ
string a5 (a , 5 , ); //me
string a6 (b , ); //This
string a7 (b + 2 , b + ); //is
赋值:
char aa[]="";
string a = "LJMZ";
string b = "ZY";
string c;
string a1 = a + b; //LJMZZY
a += "LOVE";//LJMZLOVE
a1.push_back('.'); //LJMZZY.
a1.append("ni hao!"); //LJMZZY.ni hao!
a1.assign(""); //123
//insert()一共有8种函数原形,以下是比较常见的几种
b.insert(,"aaa"); //ZaaaY
b.insert(,a); //ZLJMZLOVEaaaY
b.insert(,aa); //Z789LJMZLOVEaaaYz
//输入: ljmz!ljmz
getline(cin,c); //ljmz!ljmz
getline(cin,c,'!'); //ljmz
长度:
string a = "LJMZ";
cout<<a<<endl;
printf("%d %d\n",a.size(),a.length());
结果:
复制:
//注释是结果
string a = "111LJMZL";
char b[];
int l=a.copy(b,,); //把a中第1个字符到1+5个字符转存到b中
b[l]='\0';
cout<<b<<endl; //11LJM
交换:
1 string a = "LJMZ";
string b = "ZY";
cout<<"交换前:"<<endl<<a<<endl<<b<<endl;
a.swap(b);
cout<<"交换后:"<<endl<<a<<endl<<b<<endl;
结果: