【C++】string类(常用接口)

                                                  

             hello! 各位铁子们大家好哇。

             今日更新了string的内容

修改操作

 push_back

 

 

push_back只能插入一个字符,如果想要插入字符串,得用append。  

append 

 

 

这里简单介绍几个,常用的是第一个,需要使用时,可去cplusplus网站查阅。 


 operator+=

 

 

实际中,我们更喜欢用+=,使用起来更方便。  

 assign

 

 

assign的作用就是从前面开始覆盖。 


insert 

 

 

insert就是插入,不过插入时会进行数据的挪动,尽量少使用,否则效率会变低。 


erase 

 

 

pos有个缺省值,即默认从0开始,npos就是整形的最大值,如果len大于剩下的长度,就是全部删除。如果不给任何参数,就是全部删除。 上面是从下标为2开始,删除3个字符。不过尽量少用,因为也会降低效率。


replace 

 

 

上面是把从第5个位置开始的,前一个和前三个位置用来替换字符串。位置不够时会挪动,位置够的地方就会替换。

如果想把空格部分都改成%20,可以和find结合使用:

 

 

 npos是整形的最大值,正常来说字符串是没有这个下标位置的,通常用来表示没有找到匹配项。上面的erase、replace、insert都尽可能少用,因为效率不高。 

 

还可以用范围for的方法进行替换。 


c_str

 

 

 

在C++中,string对象后面会自动加上'\0'来兼容C语言,c_str的作用是返回C格式的字符串。如上图,filename是string对象,fopen的操作数是字符类型的,所以就要用c_str进行转换。


find

 

 

 

substr的作用是在str中从pos位置开始,截取n个字符,然后将其返回。因为cpp刚好是最后的字符串,又有缺省值,可以直接不写。 或者size-pos位置,就是要截取的个数。

 

 

如果想找到最后一个后缀,可以用rfind。 rfind的作用是从字符串pos位置开始往前找字符,返回该字符在字符串中的位置。 

 

上面是find和substr的使用场景。这套方法对其他网址的分割也是通用的。 

string类非成员函数

relational operators

 

 

 relational operators的作用是比较大小。

 operator+

 

 

operator+的使用很简单,重载这么多个是因为可以让char* 和string的可以混着用。 

getline

 

 

 

cin和scanf一样,遇到空格或者换行都会进行区分,否则同一行上的多个字符串就无法区分了。此时T在缓冲区里面。  

 

getline的作用就是获取一行字符串。 

to_string、stod

 

 

to_string是把数值转换成字符串,stod是把字符串转换成双精度浮点数。上面还有各种字符串和数值相互转换的函数。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值