- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++中的string常用函数用法总结
首先,为了在我们的程序中使用string类型,我们必须包含头文件 <string>。
如下:#include <string> //注意这里不是string.h string.h是C字符串头文件#include <string>using namespace std;
1.声明一个C++字符串声明一个字符串变量很简单:string Str;这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。String类的构造函数和析构函数如下:a)????? string s;??? //生成一个空字符串sb)????? string s(str) //拷贝构造函数 生成str的复制品c)????? string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值d)????? string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值e)????? string s(cstr) //将C字符串作为s的初值f)????? string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。g)????? string s(num,c) //生成一个字符串,包含num个c字符h)????? string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值i)????? s.~string() //销毁所有字符,释放内存都很简单,我就不解释了。
2.字符串操作函数这里是C++字符串的重点,我先把各种操作函数罗列出来,不喜欢把所有函数都看完的人可以在这里找自己喜欢的函数,再到后面看他的详细解释。a) =,assign()???? //赋以新值b) swap()???? //交换两个字符串的内容c) +=,append(),push_back() //在尾部添加字符d) insert() //插入字符e) erase() //删除字符f) clear() //删除全部字符g) replace() //替换字符h) + //串联字符串i) ==,!=,<,<=,>,>=,compare()??? //比较字符串j) size(),length()??? //返回字符数量k) max_size() //返回字符的可能最大个数l) empty()??? //判断字符串是否为空m) capacity() //返回重新分配之前的字符容量n) reserve() //保留一定量内存以容纳一定数量的字符o) [ ], at() //存取单一字符p) >>,getline() //从stream读取某值q) <<??? //将谋值写入streamr) copy() //将某值赋值为一个C_strings) c_str() //将内容以C_string返回t) data() //将内容以字符数组形式返回u) substr() //返回某个子字符串v)查找函数w)begin() end() //提供类似STL的迭代器支持x) rbegin() rend() //逆向迭代器y) get_allocator() //返回配置器
下面详细介绍:
2.1 C++字符串和C字符串的转换C ++提供的由C++字符串得到对应的C_string的方法是使用data()、c_str()和copy(),其中,data()以字符数组的形式返回字符串内容,但并不添加'/0'。c_str()返回一个以‘/0'结尾的字符数组,而copy()则把字符串的内容复制或写入既有的c_string或 字符数组内。C++字符串并不以'/0'结尾。我的建议是在程序中能使用C++字符串就使用,除非万不得已不选用c_string。由于只是简单介绍,详细介绍掠过,谁想进一步了解使用中的注意事项可以给我留言(到我的收件箱)。我详细解释。
2.2 大小和容量函数一个C++字符串存在三种大小:a)现有的字符数,函数是size()和length(),他们等效。Empty()用来检查字符串是否为空。b)max_size() 这个大小是指当前C++字符串最多能包含的字符数,很可能和机器本身的限制或者字符串所在位置连续内存的大小有关系。我们一般情况下不用关心他,应该大小足够我们用的。但是不够用的话,会抛出length_error异常c)capacity()重新分配
您可能关注的文档
- 16春西南交《城轨交通供电和其自动化》在线作业2 答案.doc
- 2016年CPA《会计》学习笔记-第二节金融资产07.doc
- 九年级物理电及磁专题复习 刘雪梅.doc
- 14第十四篇 二羰基.doc
- 九年级阶段性检测思想品德试题和答案.doc
- 2016届高考化学第一轮复习配套作业:第八篇 高频考点真题验收全通关.doc
- 13年及12年数学大纲对比表—数一.doc
- 交际用语考察是以对话形式在选择填空题里进行.doc
- 加牙小学24字教学模式实施方案.doc
- 几种重要盐讲义.doc
- 国家公务员行测(判断推理)模拟试卷101.docx
- 国家公务员行测(判断推理)模拟试卷104.docx
- 公安招警录用考试公安专业知识(人民警察基本能力)模拟试卷9.docx
- 公安招警录用考试公安专业知识(人民警察基本能力)模拟试卷14.docx
- 公安招警录用考试公安专业知识(实务工作能力)模拟试卷1.docx
- 广东省农村信用社招聘(职业能力测验)模拟试卷9.docx
- 广东省农村信用社招聘职业能力测验(判断推理)模拟试卷4.docx
- 广东省农村信用社招聘职业能力测验(判断推理)模拟试卷9.docx
- 广东省农村信用社招聘职业能力测验(判断推理)模拟试卷10.docx
- 广东省农村信用社招聘职业能力测验(数量关系)模拟试卷1.docx
1亿VIP精品文档
相关文档
最近下载
- 试论判例作为民法第1 条之习惯法 【台】吴从周教授 《台大法学论丛》第39卷第2期.pdf
- 民用建筑通用规范GB55031-2022(完整清晰版).pdf
- 【申报表】基于语言建构与运用的“读思达“ 教学法实践研究.doc
- 校园安全稳定工作“日报告、零报告”.docx
- 2024年深圳市高三年级第二次调研考试(二模)数学试卷(含官方答案).pdf
- 甲亢健康教育课件.pptx VIP
- 九下《出师表》文言文对比阅读35篇(含答案).pdf
- 小区智能化弱电系统维护工程报价清单.xls VIP
- 《中国行政制度史》.ppt
- 中国行业标准 NB/T 11118.5-2023煤矿综采工作面机电设备EtherNet/IP通信接口和协议 第5部分:供液系统设备数据表.pdf
文档评论(0)