1、string

 string的初始化,在C++中字符串是一种数据类型;

(1)、string的初始化,遍历,字符串连接

代码如下:

#include
#include
#include
using namespace std;

int main(void){  
//string的初始化,在C++中字符串是一种数据类型;
    string s1 = "abcdefg";
    string s2("abcdefg");
    string s3(s2);
    string s4 = s1;  //调用拷贝构造函数;
    string s5(10, 'a');//10个空间中的字符都是'a';
    s5 = s1; 

    cout<<"s3:"<char * 把内存首地址给露出来;
    printf("s1:%s \n", s1.c_str());

    //s1中的内容拷贝到buf中;
    char buf[123] = {0};
    s1.copy(buf, 2, 0);//n, pos;下标从0开始拷贝2个字符到buf中,不会是C风格的,注意自己加上0结束标志;
    cout< 
  

运行结果:

C++中string数据类型_第1张图片

(2)、string的查找,替换

代码如下:

#include
#include
#include
using namespace std;

int main(void){
//字符串的查找和替换
    string s1 = "wbm hello wbm 111 wbm 222 wbm 333";

    //1、第一次出现wbm的下标
    int index = s1.find("wbm", 0); 
    cout<<"index :"< 
  

运行结果:

C++中string数据类型_第2张图片

(3)、区间的删除和插入

代码如下:

#include
#include
#include
using namespace std;

int main(void){
//区间删除和插入
    string s1 = "hello1 hello2 hell03";
    string::iterator it = find(s1.begin(), s1.end(), 'l');
    if(it != s1.end()){
        s1.erase(it); //删除算法;
    }   
    cout<<"s1 :"< 
  

运行结果:

(4)、string的大小写转换-->函数指针

代码如下:

#include
#include
#include
using namespace std;

int main(void){
    string s1 = "AAAbbb";

    transform(s1.begin(), s1.end(), s1.begin(), 0, toupper);//toupper可以是:函数的入口地址,函数对象,
    cout<