C++提高编程——string容器

1、string基本概念

string是C++风格的字符串,而string本质上是一个类

string和char*区别

char*是一个指针

string是一个类,类内部封装char*,管理这个字符串,是一个char*型的容器。

特点:

string类内封装了很多成员方法

例如:查找find,拷贝copy,删除delete替换replace,插入insert

string管理char*所分配的内存,不用担心复制和取值越界等,又类内部进行负责

2、string构造函数

构造函数原型:

string()//创建一个空的字符串 例如:string str;

string(const char* s );//使用字符串s初始化

string(const string& str);//使用一个string对象初始化另一个string对象

string(int n,char c);//使用n字符c初始化

3、string赋值操作

功能:给string字符串进行赋值

赋值的函数原型:

string& operator=(const char* s);        //char*类型字符串赋值给当前的字符串

string& operator=(const string & s);    //把字符串s赋值给当前的字符串

string& operator=( char c);                   //字符赋值给当前的字符串

string& assign=(const char* s);            //把字符串S赋给当前的字符串

string& assign=(const char* s,int n);     //把字符串S的前N个字符赋给当前的字符串

string& assign=(const string & s);        //把字符串S付给当前字符串

string& assign=(int n,char s);                //用N字符C赋给当前字符串

总结:string的赋值方式很多,operator=这种方式是比较实用的

4、string字符串拼接

功能:实现字符串末尾拼接字符串

函数原型

string& operator+=(const char* str);        //重载+=操作符

string& operator+=(const char c);        //重载+=操作符

string& operator+=(const string& str);        //重载+=操作符

+= 可以拼接单个字符多个字符以及同类型的变量名称

string& append(const char*s);        //把字符串S连接到当前字符串结尾

string& append(const char*s,int n); //把字符串S的前N个字符连接到当前字符串结尾

string& append(const char*s,int n); //痛operator+=(const string& str)

string& append(const string &s,int pos,int n); //字符串s中从pos开始的N个字符连接到字符串结尾

append基本跟+=的用法大致一样,但是可以选择位置 

5、string查找和替换

功能:查找和替换

int find(const string& str,int pos = 0)const;        //查找str第一次出现位置,从pos开始查找

int find(const char& str,int pos = 0)const;        //查找s第一次出现位置,从pos开始查找

int find(const char& str,int pos ,int=0)const;        //从pos位置查找s的前n个字符第一次位置

int find(const char& str,int pos = 0)const;        //查找字符c第一次出现位置

int rfind(const string& str,int pos = npos)const; //查找str最后一次位置,从pos开始查找

int rfind(const char* s,int pos = npos)const;         //查找s最后一次出现位置,从pos开始查找

int rfind(const char& s,int pos ,int n)const;         //从pos查找s的前n个字符最后一次位置

int rfind(const char c,int pos = 0)const;        //查找字符c最后一次出现位置

string& replace(int pos,int n,const string& str);//替换从pos开始n个字符为字符串str

string& replace(int pos,int n,const char* s);        //替换从pos开始的n个字符为字符串s

find 和rfind区别:rfind从右往左查找,find从左往右查找

6、string字符串比较

功能:字符串之间的比较

比较方式:字符串比较是按字符的ASCII码进行

=返回0        >返回1        <返回-1

函数原型:int compare(const string &s)const;//与字符串s比较

                int copare(const char *s)const;      //与字符串s比较

7、string字符存取

string中单个字符存取方式有两种

char& operator[](int n);//通过[]方式取字符

char& at(int n);             //通过at方法获取字符

8、string插入和删除

功能:对string字符串进行插入和删除字符操作

string& insert(int pos,const char*s);//插入字符串

string& insert(int pos,const string*s);//插入字符串

string& insert(int pos, int n,const char*s);//在指定位置插入n个字符c

string& erase(int pos,int n=nos)//删除从pos开始的n个字符

总结:插入和删除的其实下标都是从0开始

9、string子串

功能:从字符串中获取想要的子串

函数:string substrate(int pos=0,int n=npos)const;//返回由pos开始的n个字符组成的字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值