string容器

1.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)-0-----------使用n个字符c初始化

**

3.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);—//把字符串的前n个字符赋给当前字符
●string &assign(const string &s)------把字符串s,赋给当前字符串
●string &assgin(int n,char c )-------//把n个c,赋给当前字符串

4.字符串的拼接

assign();函数assign()常用在给string类变量赋值.
请添加图片描述

5,。字符串查找和替换

替换(replace) 
语法: 
  basic_string &replace( size_type index, size_type num, const basic_string &str );
  basic_string &replace( size_type index1, size_type num1, const basic_string &str, size_type index2,
  size_type num2 );
  basic_string &replace( size_type index, size_type num, const char *str );
  basic_string &replace( size_type index, size_type num1, const char *str, size_type num2 );
  basic_string &replace( size_type index, size_type num1, size_type num2, char ch );
  basic_string &replace( iterator start, iterator end, const basic_string &str );
  basic_string &replace( iterator start, iterator end, const char *str );
  basic_string &replace( iterator start, iterator end, const char *str, size_type num );
  basic_string &replace( iterator start, iterator end, size_type num, char ch );

释义:
replace()函数:
用str中的num个字符替换本字符串中的字符,从index开始
用str中的num2个字符(从index2开始)替换本字符串中的字符,从index1开始,最多num1个字符
用str中的num个字符(从index开始)替换本字符串中的字符
用str中的num2个字符(从index2开始)替换本字符串中的字符,从index1开始,num1个字符
用num2个ch字符替换本字符串中的字符,从index开始
用str中的字符替换本字符串中的字符,迭代器start和end指示范围
用str中的num个字符替换本字符串中的内容,迭代器start和end指示范围,
用num个ch字符替换本字符串中的内容,迭代器start和end指示范围.
例如,以下代码显示字符串"They say he carved it himself…find your soul-mate, Homer."
string s = “They say he carved it himself…from a BIGGER spoon”;
string s2 = “find your soul-mate, Homer.”;

s.replace( 32, s2.length(), s2 );

cout << s << endl;

6.字符串比较

字符串对比主要是用于比较两个字符串是否相等。

7,字符存取

char &operator[ ](int n);
char &at(in n)

8.string 插入和删除

插入和删除的起始下标都是从0,开始
函数原型:
●string& insert(int pos,const char* s); ------//插入字符串
●string&

●string& erase(int pos ,int n);-------//删除从pos开始的n个字符

9.string子串

函数原型:

string substr (int pos ,int num);-------//返回由pos 开始的n个字符组成的字符串。

substr()返回本字符串的一个子串,从index开始,长num个字符。如果没有指定,将是默认值 string::npos。这样,substr()函数将简单的返回从index开始的剩余的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值