网站建设个人网站,wordpress积分交换,网站建设设计价格,制作网站需要什么语言目录
#x1f680;0.前言
#x1f688;1.string 构造函数
#x1f69d;1.1string构造函数
#x1f69d;1.2string拷贝构造函数
#x1f688;2.string类的使用
#x1f69d;2.1.查询元素个数或空间
返回字符串中有效字符的个数#xff1a;size lenth
返回字符串目…
目录
0.前言
1.string 构造函数
1.1string构造函数
1.2string拷贝构造函数
2.string类的使用
2.1.查询元素个数或空间
返回字符串中有效字符的个数size lenth
返回字符串目前所占的空间capacity
检验有效字符个数是否为零empty 2.2对字符串容量操作
为字符串预留空间:reserve
将有效字符的个数该成n个多出的空间用字符c填充resize 清空有效字符clear
2.3string类对象的访问及遍历操作 2.3.1 [ ]访问 2.3.2迭代器 2.3.3反向迭代器
3.增删查改等
3.1增
在字符串后尾插字符cpush_back 在字符串后追加一个字符串:append 在字符串后追加字符串str真香operator
编辑 插入insert 3.2删 在字符串后尾删除字符pop_back 在某处删除erase 3.3查
从字符串pos位置开始往后找字符c返回该字符在字符串中的位置:find 从字符串pos位置开始往前找字符c返回该字符在字符串中的位置:rfind 3.4改 4.其他
返回C格式字符串c_str
在str中从pos位置开始截取n个字符然后将其返回substr
编辑
编辑获取一行字符串:getline
7.结束语 0.前言
言C之言聊C之识以C会友共向远方。各位博友的各位你们好啊这里是持续分享C知识的小赵同学今天要分享的C知识是string 在这一章小赵将会向大家聊聊C的string知识 。✊
1.string 构造函数
1.1string构造函数 我们通过查阅网站得到string构造函数如上我们主要使用的构造函数是下面这几个
string str1;//空字符串
cout str1 endl;
string str2(i love you);//直接传入字符串构造
cout str2 endl;
string str3(str2.begin(), str2.end());//利用迭代器去构造
cout str3;
这三种构造方式都是相当不错的。这里我们可以通过底层看看string内部是如何去构造的 我们通过查看它的底层发现它好像就是一个动态数组那么我们能不能这么用呢当然是可以的。 那么这个可以说是非常爽的了。
1.2string拷贝构造函数 这个我们用起来应该是相当熟悉了。
2.string类的使用
2.1.查询元素个数或空间
返回字符串中有效字符的个数size lenth string str1(1024);cout str1.size() endl;//返回有效字符个数cout str1.length() endl;//返回有效字符个数
返回字符串目前所占的空间capacity cout str1.capacity();//返回字符串目前所占的空间 为什么这里的空间和有效字符不一样呢主要因为其实就和我们之前队列一样str在最开始的时候也进行了开空间操作而当里面的字符快要填满时会进行扩容操作。这个在实现string时候我们还会讲
检验有效字符个数是否为零empty 需要注意的是这里指的是有效字符个数而不是所占空间 2.2对字符串容量操作
为字符串预留空间:reserve string s;cout s.capacity() endl;s.reserve(20);//告诉扩容函数我要放20个字符你的不够用了就快点扩容cout s.capacity() endl; 当然如果你输入的值小于当前空间一般是不会进行扩容的 。
将有效字符的个数该成n个多出的空间用字符c填充resize string s;s.resize(10);//将有效字符的个数该成10个多出的空间用字符\0填充cout s endl;s.resize(20, a);//将有效字符的个数该成20个多出的空间用字符a填充cout sendl; 这个函数其实内部也有开空间的函数可能就是reverse,所以当你的字符大于目前的空间时候会给你扩容然后填上。 resize(size_t n) 与 resize(size_t n, char c)都是将字符串中有效字符个数改变到n个不同的是当字 符个数增多时resize(n)用0来填充多出的元素空间resize(size_t n, char c)用字符c来填充多出的 元素空间。注意resize在改变元素个数时如果是将元素个数增多可能会改变底层容量的大 小如果是将元素个数减少底层空间总大小不变。 清空有效字符clear
s.clear();//清空有效字符
cout s.size(); 需要注意的是这里只清理字符不会缩减空间。
2.3string类对象的访问及遍历操作 2.3.1 [ ]访问
这个访问方式也是我们前面试过的和数组一样就很爽。 2.3.2迭代器
迭代器这里我们可以当成指针一样先用着等到实现的时候我们就会知道里面是什么了。 string::iterator it s.begin();//这里要指定谁的迭代器while (it ! s.end()){cout *it;it;} 2.3.3反向迭代器
方向迭代器与正向迭代器相反。rbegin对应的就是end. 3.增删查改等
3.1增
在字符串后尾插字符cpush_back string s;s.push_back(a);//在结尾添加字符acout s; 在字符串后追加一个字符串:append 虽然它的实现很多但是我们一般用的也就只有第一个也就是我圈红的那个。 string s(hello);s.append( 1024);cout s endl; 在字符串后追加字符串str真香operator
这个是真香重载了使用非常爽。 string s(hello );s 1024;cout sendl;s i;cout s endl; 插入insert 插入我们也是非常熟悉了以前就有 我个人主要用的就是这一个给位置插入其他的大家可以自己尝试去探索下 s.insert(0, 你好);cout s endl; 3.2删 在字符串后尾删除字符pop_back s.pop_back();//删除尾部字符cout s endl; 在某处删除erase 这里我们也主要用第一个 s.erase(0, 5);//从0位置开始删5个字符cout s endl; 3.3查
从字符串pos位置开始往后找字符c返回该字符在字符串中的位置:find string s(abbba);size_t as.find(bb, 2);//从2位置开始向后找cout a endl;size_t bs.find(a);//用缺省参数即从0位置开始向后找cout bendl;size_t c s.find(a,3);cout c; 从字符串pos位置开始往前找字符c返回该字符在字符串中的位置:rfind npos即默认最后一个字符位置 string s(abbba);size_t bs.rfind(a);//默认从最后一个位置向前找cout b endl;size_t c s.rfind(a,2);//从2位置向前找cout c endl;3.4改
其实改的话很简单就用我们之前的【】就行了很香。 4.其他
返回C格式字符串c_str 在str中从pos位置开始截取n个字符然后将其返回substr string a s.substr(2, 3);//从2位置开始拷贝3个字符组成字符串返回cout aendl;cout s;
获取一行字符串:getline
这个还是比较重要的比如我们要读取的字符串中有空格就可以用这个。 大家可以先像我这样用着这里的输入流参数istream到后面我们会说。
7.结束语
好了小赵今天的分享就到这里了如果大家有什么不明白的地方可以在小赵的下方留言哦同时如果小赵的博客中有什么地方不对也希望得到大家的指点谢谢各位家人们的支持。你们的支持是小赵创作的动力加油。 如果觉得文章对你有帮助的话还请点赞关注收藏支持小赵如有不足还请指点方便小赵及时改正感谢大家支持
文章转载自: http://www.morning.krdb.cn.gov.cn.krdb.cn http://www.morning.yydzk.cn.gov.cn.yydzk.cn http://www.morning.ho-use.cn.gov.cn.ho-use.cn http://www.morning.mplb.cn.gov.cn.mplb.cn http://www.morning.slqzb.cn.gov.cn.slqzb.cn http://www.morning.yysqz.cn.gov.cn.yysqz.cn http://www.morning.kydrb.cn.gov.cn.kydrb.cn http://www.morning.lyldhg.cn.gov.cn.lyldhg.cn http://www.morning.xjnw.cn.gov.cn.xjnw.cn http://www.morning.hwbmn.cn.gov.cn.hwbmn.cn http://www.morning.yrmpz.cn.gov.cn.yrmpz.cn http://www.morning.qrqdr.cn.gov.cn.qrqdr.cn http://www.morning.zzgkk.cn.gov.cn.zzgkk.cn http://www.morning.hous-e.com.gov.cn.hous-e.com http://www.morning.rgmls.cn.gov.cn.rgmls.cn http://www.morning.smry.cn.gov.cn.smry.cn http://www.morning.gjqnn.cn.gov.cn.gjqnn.cn http://www.morning.hkng.cn.gov.cn.hkng.cn http://www.morning.mrnnb.cn.gov.cn.mrnnb.cn http://www.morning.dncgb.cn.gov.cn.dncgb.cn http://www.morning.znqxt.cn.gov.cn.znqxt.cn http://www.morning.rfbq.cn.gov.cn.rfbq.cn http://www.morning.lslin.com.gov.cn.lslin.com http://www.morning.mxmtt.cn.gov.cn.mxmtt.cn http://www.morning.gwxsk.cn.gov.cn.gwxsk.cn http://www.morning.dqwkm.cn.gov.cn.dqwkm.cn http://www.morning.plxnn.cn.gov.cn.plxnn.cn http://www.morning.wtcd.cn.gov.cn.wtcd.cn http://www.morning.lnbyk.cn.gov.cn.lnbyk.cn http://www.morning.rwmft.cn.gov.cn.rwmft.cn http://www.morning.lszjq.cn.gov.cn.lszjq.cn http://www.morning.mlwhd.cn.gov.cn.mlwhd.cn http://www.morning.rckmz.cn.gov.cn.rckmz.cn http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn http://www.morning.qgfkn.cn.gov.cn.qgfkn.cn http://www.morning.zczkm.cn.gov.cn.zczkm.cn http://www.morning.tongweishi.cn.gov.cn.tongweishi.cn http://www.morning.fxpyt.cn.gov.cn.fxpyt.cn http://www.morning.mfct.cn.gov.cn.mfct.cn http://www.morning.zjrnq.cn.gov.cn.zjrnq.cn http://www.morning.lgnbr.cn.gov.cn.lgnbr.cn http://www.morning.qcfgd.cn.gov.cn.qcfgd.cn http://www.morning.dgknl.cn.gov.cn.dgknl.cn http://www.morning.zrkws.cn.gov.cn.zrkws.cn http://www.morning.ynryz.cn.gov.cn.ynryz.cn http://www.morning.wxqmc.cn.gov.cn.wxqmc.cn http://www.morning.ppzgr.cn.gov.cn.ppzgr.cn http://www.morning.lynmt.cn.gov.cn.lynmt.cn http://www.morning.jwfqq.cn.gov.cn.jwfqq.cn http://www.morning.yhjlg.cn.gov.cn.yhjlg.cn http://www.morning.dtnzk.cn.gov.cn.dtnzk.cn http://www.morning.3ox8hs.cn.gov.cn.3ox8hs.cn http://www.morning.ptmgq.cn.gov.cn.ptmgq.cn http://www.morning.yubkwd.cn.gov.cn.yubkwd.cn http://www.morning.nhbhc.cn.gov.cn.nhbhc.cn http://www.morning.rqqn.cn.gov.cn.rqqn.cn http://www.morning.sjwzz.cn.gov.cn.sjwzz.cn http://www.morning.pwqyd.cn.gov.cn.pwqyd.cn http://www.morning.smggx.cn.gov.cn.smggx.cn http://www.morning.tmnyj.cn.gov.cn.tmnyj.cn http://www.morning.wqbfd.cn.gov.cn.wqbfd.cn http://www.morning.xsklp.cn.gov.cn.xsklp.cn http://www.morning.tfwr.cn.gov.cn.tfwr.cn http://www.morning.xpzgg.cn.gov.cn.xpzgg.cn http://www.morning.gppqf.cn.gov.cn.gppqf.cn http://www.morning.mjqms.cn.gov.cn.mjqms.cn http://www.morning.ppqzb.cn.gov.cn.ppqzb.cn http://www.morning.rrpsw.cn.gov.cn.rrpsw.cn http://www.morning.rntgy.cn.gov.cn.rntgy.cn http://www.morning.qkqhr.cn.gov.cn.qkqhr.cn http://www.morning.lmdkn.cn.gov.cn.lmdkn.cn http://www.morning.lwzgn.cn.gov.cn.lwzgn.cn http://www.morning.knswz.cn.gov.cn.knswz.cn http://www.morning.hnrpk.cn.gov.cn.hnrpk.cn http://www.morning.rltsx.cn.gov.cn.rltsx.cn http://www.morning.fqklt.cn.gov.cn.fqklt.cn http://www.morning.krgjc.cn.gov.cn.krgjc.cn http://www.morning.bpmdh.cn.gov.cn.bpmdh.cn http://www.morning.rdzlh.cn.gov.cn.rdzlh.cn http://www.morning.wfjyn.cn.gov.cn.wfjyn.cn