首页 > 编程语言 > 详细

C++ STL(string)

时间:2020-04-26 15:20:19      阅读:49      评论:0      收藏:0      [点我收藏+]

string 容器

1、string的特性

  char *是一个指针,string是一个类

  string 封装了char *,管理这个字符串。

  string 封装了很多使用的成员方法:查找find,拷贝copy,删除delete,替换replace,插入insert。

  string可以和char *互转:

  const char* strs = str->data();

  const char* strs = str->c_str();

 

2、string初始化

  string s1;//申请一个空对象

  string s2("字符串")//初始化一个内容为字符串的string对象

  string s3(n,‘字符‘)//初始化一个内容为n个字符的string对象

  string s4(s2);  //拷贝构造,将s2的内容赋值给s4

  

3、string赋值

  s1 = "字符串" //s1赋值为字符串

  s2.assign("字符串")//s2 赋值为字符串

 

4、string的取值

  string提供了两个方法

    string.data() string.c_str()返回const char *

  获取单个字符

    string s1;

    s1[n]    s1.at(n)

    两者区别s1[n]下标越界的话直接导致程序崩溃,s1.at(n)下标越界的话会抛异常,可以用try catch捕捉该异常。

 

5、string的拼接操作

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

  string &operator+=(const char *str)//同上

  string &operator+=(const char c)

  string &append(const string &str)

  string &append(const char *str)

  string &append(const char *str,n)//拼接str前n个字符

  string &append(const string &str, int begin, int n)//拼接str 从begin开始前n个字符

  string &append(int n, char c)

 

6、string查找和替换

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

  int find(const char *str ,int pos = 0)const;//查找str第一次出现的位置

  int find(const char *str,int pos, int n)const;//查找str在前n个字符中出现的位置

  int find(const char c,int pos = 0)const;//查找字符出现的位置

  

  int rfind(const string &str, int pos = 0) const;//查找str最后一次出现的位置

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

  int rfind(const char *str,int pos, int n)const;//查找str在前n个字符中最后一次出现的位置

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

  

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

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

  

7、字符串的比较

  int compare(const char *str)const;

  int compare(const string str)const;//从第一个字符开始比较,大于返回1,等于返回0,小于返回-1

 

8、字符串子串

  string substr(int pos,int n)//返回一个从pos开始的n个字符的子串

 

9、string的插入和删除

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

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

  string &insert(int pos,int n, int c);//从pos 开始插入n个字符

  string &earse(int pos,int n)//从pos开始删除n个字符

C++ STL(string)

原文:https://www.cnblogs.com/flycc/p/12779583.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!