> 文章列表 > 黑马c++----string容器笔记

黑马c++----string容器笔记

黑马c++----string容器笔记

3.string容器

3.1.1string基本概念

本质: string 是c++风格的字符串,而string本质上是一个类
string和char*区别:

  • char*是—个指针
  • string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。
    特点:
  • string类内部封装了很多成员方法,例如:查找find,拷贝copy,册除delete替换replace,插入insert,
  • string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责

3.1.2 string构造函数

构造函数原型:

string ();   //创建—个空的字符串例如: string str;
string(const char* s);  //使用字符串s初始化
string(const string& str);  //使用一个string对象初始化另一个string对象
string(int n, char c);  //使用n个字符c初始化

黑马c++----string容器笔记
黑马c++----string容器笔记

3.1.3string赋值操作

功能描述:

  • 给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 c);      //用n个字符c赋给当前字符串

黑马c++----string容器笔记

黑马c++----string容器笔记
黑马c++----string容器笔记

黑马c++----string容器笔记

3.1.4 string字符串拼接

功能描述:
·实现在字符串末尾拼接字符串
黑马c++----string容器笔记
黑马c++----string容器笔记
黑马c++----string容器笔记

3.1.5 string查找和替换

功能描述:
·查找:查找指定字符串是否存在
·替换:在指定的位置替换字符串

黑马c++----string容器笔记
find:
黑马c++----string容器笔记
优化版本:
黑马c++----string容器笔记

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

rfind:
黑马c++----string容器笔记
替换:
黑马c++----string容器笔记
黑马c++----string容器笔记
总结:
1.find查找是从左往后,rfind从右往左
2. find找到字符串后返回查找的第一个字符位置,找不到返回-1
3. replace在替换时,要指定从哪个位置起,多少个字符,替换成什么样的字符串

3.1.6 string字符串比较

功能描述:

  • 字符串之间的比较
    比较方式:
  • 字符串比较是按字符的ASCII码进行对比
    =返回 0

返回 1
<返回 -1
黑马c++----string容器笔记
黑马c++----string容器笔记

3.1.7 string字符存取

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

黑马c++----string容器笔记

string str = "hello";

黑马c++----string容器笔记

黑马c++----string容器笔记

3.1.8 string插入和删除

功能描述:
对string字符串进行插入和删除字符操作
黑马c++----string容器笔记

黑马c++----string容器笔记

黑马c++----string容器笔记

3.1.9 string子串

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

黑马c++----string容器笔记
黑马c++----string容器笔记

使用操作:

黑马c++----string容器笔记