string的基本概念及常用接口

string的基本概念

本质:

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

string和char*的区别:

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

特点:

1、string类内部封装了很多的成员方法

eg:查找find、拷贝copy、删除delete、替换replace、插入insert

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

string构造函数

string构造函数作用:对字符串进行初始化

初始化的方式有4种

原型分别为:

1、string();//无参构造--创建一个空的字符串。eg:string str;

2、string(const char* s);//有参构造---初始化字符串

3、string(const string &str);//拷贝构造---使用一个string对象初始化另一个string对象

4、string(int n,char c);//使用n个字符c进行初始化

eg:

 string的赋值操作

给string赋值有7种方法

原型分别为:

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

2、string& operator=(const string &s);//将字符串s赋给当前的字符串(类似于拷贝构造)

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

4、string& assign(const char*s);//把字符串s赋给当前字符串

5、string& assign(const char* s,int n);//把字符数组s中的前n个字符赋给当前字符串

6、string& assign(const string &s);//把字符串s赋给当前字符串

7、string& assign(int n,char c);//将n个字符c赋给当前字符串

eg:

 string字符串拼接

作用:实现在字符串末尾拼接字符串

拼接字符串有两大方法,一种是用重载后的+=,另一种是用string提供的成员函数append来实现。

字符串拼接函数原型:

eg:

string查找和替换

查找:查找指定位置的字符串是否存在

替换:在指定的位置替换字符串

常用的查找和替换函数

函数原型:

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

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

int rfind(const string &str,int pos=npos)const;//从str最后一个位置从右向左查找str第一次出现的位置

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

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

eg:

 string字符串比较

比较方式:

字符串比较是按字符的ASCII码进行对比的

若两个字符串相等,则返回0

若大于,则返回1

若小于,则返回-1

string用于比较的内置函数为compare

eg:

 string字符存取

string中单个字符的存取方式有两种:(可读可写)

一种是用[]进行访问,另一种是用at进行访问。

eg:

 string插入与删除

string插入用insert,删除用erase

eg:

string子串

 求string子串的函数名为substr

函数原型:

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

具体应用实例:

 

  • 31
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值