本随笔是我自己在敲代码的时候一些感受,可能有的地方简略了,还有部分是融合了一点其他资料上的知识点,如有错误欢迎指出,谢谢_(:°з」∠)_

string类是C++中常用的字符串类型,比之普通的字符串要好用不少(自我感觉)

所需头文件:

1 #include<iostream>
2 #include<string>
3 //using std::string;  在只用string时可以就加这个
4 using namespace std;

初始化:

 1 //注释是结果 
 2     char b[20] = "This is bibi"; //This is bibi
 3     string a = "My name is LJMZ"; //My name is LJMZ
 4     string a1 = b; //This is bibi
 5     string a2 ("This is lili"); //This is lili
 6     string a3 (5 , 'a'); //aaaaa
 7     string a4 (a , 5); //me is LJMZ
 8     string a5 (a , 5 , 2); //me
 9     string a6 (b , 5); //This
10     string a7 (b + 2 , b + 5); //is

赋值: 

 

 1  char aa[10]="789";
 2     string a = "LJMZ"; 
 3     string b = "ZY"; 
 4     string c;
 5     string a1 = a + b; //LJMZZY
 6     a += "LOVE";//LJMZLOVE
 7     a1.push_back('.'); //LJMZZY.
 8     a1.append("ni hao!"); //LJMZZY.ni hao!  
 9     a1.assign("123"); //123
10     //insert()一共有8种函数原形,以下是比较常见的几种 
11     b.insert(1,"aaa"); //ZaaaY  
12     b.insert(1,a); //ZLJMZLOVEaaaY
13     b.insert(1,aa); //Z789LJMZLOVEaaaYz
14     //输入: ljmz!ljmz 
15     getline(cin,c); //ljmz!ljmz 
16     getline(cin,c,'!'); //ljmz

 

 

 

长度:

string a = "LJMZ";
    cout<<a<<endl; 
    printf("%d %d\n",a.size(),a.length());

       结果:

    

复制:

1     //注释是结果 
2     string a = "111LJMZL";
3     char b[10];
4     int l=a.copy(b,5,1); //把a中第1个字符到1+5个字符转存到b中 
5     b[l]='\0';
6     cout<<b<<endl; //11LJM

交换:

1    string a = "LJMZ";
2     string b = "ZY";
3     cout<<"交换前:"<<endl<<a<<endl<<b<<endl;
4     a.swap(b);
5     cout<<"交换后:"<<endl<<a<<endl<<b<<endl;

  结果: