当前位置:首页 > 生活百科

c++ string截取某一部分(string查找字符串中的字符)

栏目:生活百科日期:2024-12-08浏览:0

前言

我们之前学习C语言的时候知道没有单独的字符串类型,只有字符型,对于操作字符串来说只能用字符型数组来完成,对字符的相关操作也是比较麻烦,但是我们在学习c++后对于字符串的操作是极其方便和简单的。

我们今天要学习的string类是c++的拓展库,使得我们对字符串的操作变得简单,严格来说是属于字符串对象,这个类库里面有很多对字符串操作的方法,接下来我们一起来学习一些比较常用的字符串操作。

字符串的定义

我们来看一下我们的字符串定义:

string str1;

string str2=&”hello word&”;

string str3(&“hello word&”);

我们要知道的是我们string类是可以自动处理我们字符串大小的,就比如你str的声明创建了一个长度为0的字符串对象,但是如果你对str1进行输入赋值的时候,它的长度会自动发生改变,这使得它比我们的数组更加的方便和安全,不会存在越界问题。

字符串输入和输出

我们在c++中使用的输入和输出使用的是cout和cin在定义好数组后就可以对字符串进行输入和输出,例如下面的代码:

string str;//定义一个字符串str

cin&>&>str; //使用cin对字符串进行赋值

cout&<&<str&<&<endl;//使用cout输出字符串

字符串赋值、拼接和附加

我们可以通过字符串的这几个操作看出来string对处理字符串的强大之处了。在学习C语言的时候我们知道要把字符串str1赋值给str2 我们需要使用复制函数strcpy,但是我们的c++中可以直接使用等号;

strcpy(str2,str1)//C语言中把str1的值赋值给str2

str2 = str1 //c++中str1的值赋值给字符串str2;

我们再来看一下字符串的拼接把str1和str2进行拼接:
strcat(str1,str2);//C语言中字符串的拼接使用strcat

str2=str1+str2//c++中我们使用“+”号对字符串进行拼接。

字符串的其他操作

除了以上的操作string其他常用的方法之外string还有很多好玩的操作我们一起来看一遍:

1、创建一个包含n个元素,每个元素初始化为指定元素例如:string str1(3,A);输出结果会是“AAA”。

2、把str1赋值给str2 :string str2(str1)或者str2=str1;

3、获取字符串的长度和大小使用:str.size()和str.length();

4、字符串追加把str2追加到str1后面:str1+=str2、str1.append(str2)。

5、比较字符串是否相等:str1==str2 或者str1 !=str2;

6、获取str1中的子字符串:str1.substr(n,m),从str1的第n个字符开始取m个字符。

7、获取字符串中某个字符:str[n]、或者str.at(n)获取str字符串中第n个字符。

除了这些简单的操作其实string的可以实现的方法还有很多,比如说查找,删除,插入等方法,感兴趣的小伙伴可以自己去试一试。

代码测试

#include&<iostream&>#include&<string&>using namespace std;int main(){  string str1(3,'A');cout&<&<str1&<&<endl;string str2="hello word";int a=str2.size();int b=str2.length();cout&<&<"str2 长度:"&<&<a&<&<"  "&<&<b&<&<endl;string str3="hello";string str4=" word";str3+=str4;cout&<&<"拼接:"&<&<str3&<&<"   "&<&<endl;str3.append(str4);cout&<&<"拼接:"&<&<str3&<&<"   "&<&<endl;string str5="hello";string str6="hello";string str7="word";if(str6 == str5){  cout&<&<"相等"&<&<endl;}if(str7 != str5){  cout&<&<"不相等"&<&<endl;}string str8="ABCDEFG";string str9=str8.substr(2,3);cout&<&<"str9:"&<&<str9&<&<endl;cout&<&<"str8&[2]:"&<&<str8&[2]&<&<endl;return 0;}

string和C语言中字符函数对比

在刚刚讲述字符串拼接和赋值的时候单独拿出来讲了一下,主要是为了现在和大家再多说一下他们之间的区别,我们C语言虽然说也可以实现对字符串的相关操作,但是相对麻烦,但是除了麻烦我们应该还要知道另外一个重要的是方面:

我们函数strcat()在赋值的时候会存在目标内存不足,无法存储的危险,也许会覆盖相邻的内存。可能会导致程序终止运行。但是我们的string会自动调整大小能够很好避免这个错误的发生。

“c++ string截取某一部分(string查找字符串中的字符)” 的相关文章

如何通过手机给电视安装软件(手机电视互传软件教程)

通常安装第三方软件时,我们常用的就是借助U盘,今天当贝小编想跟大家分享一下不借助U盘应该怎样下载第三方软件,以下是具体步骤,大家可以参考下。  1、打开手机中的...

pdf转换成word后怎么编辑文档格式,教你一个简单实用的

学习和工作中,我们常常需要将PDF转成Word进行再次编辑。但是有时候虽然转换成了,Word却是一张图片而无法编辑。这是因为源PDF是扫描文档,我们需要用OCR...

微信怎么恢复删除的好友(免费找回微信删除的好友)

大家平时玩微信,会不会定期清理不认识的微信好友呢?如果不小心手误把微信好友删除了,怎么悄无声息地把对方加回来?今天小编教大家4招,把自己误删的好友添加恢复,亲测...

微信做广告的方式有哪些,适合做推广的6种方式

据微信官网统计分析,微信朋友圈日活跃性用户量为7.五亿+,微信朋友圈广告以文图、视頻呈现的方法较多,交叉公众号链接,以一种微信朋友的原創內容插进广告宣传信息内容...

免费会员电影应用APP(2023年免vip看电视追剧网站)

很多朋友都喜欢看电影,可是自从快播出事后,免费看电影的时代已经结束了。现在想看一些最新的或者经典的老电影,我们就只能花钱在爱奇艺、腾讯、优酷等视频网站办理VIP...

光盘放入电脑无法读取什么原因(光盘读不出来修复方法)

有一些家长还是需要用光驱,用于小朋友一些光碟学习资料,但有遇到光盘新的,无法读光盘怎么办?下面小编分享win10系统电脑DVD光驱无法使用解决方法:1、在win...

华硕升级bios有什么用(华硕主板更新bios教程)

更多登录71收藏分享华硕B460主板重装win7系统教程以及BIOS设置方法(支持USB)2021-06-0314:30·迷茫的IT大叔intel第十代酷睿的公...

linux查看硬件配置信息(linux查看硬盘型号命令 )

在Linux下,我们经常需要查看系统的硬件信息,这里我罗列了查看系统硬件信息的实用命令,并做了分类,实例解说。执行环境:ubuntu16.041.cpulscp...

京东店铺运营思路是什么,2019京东店铺运营计划

从事运营这一项工作,也很久了,对于运营这块也是有一些自己的见解。现阶段仍然有很多人,小白到老手,都会觉得运营是一个非常困难的事情,也比较费脑子。其实你反过来想想...

会声会影特效素材制作教程(字体特效模板推荐)

会声会影模板下载站点推荐会声会影模板指的是软件程序中的工作样式。它们是预定义的格式和设置,在制作项目时作为指南。在制作视频时,你可能有很多想法想要实现,可是自己...