- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C字符串操作整理
C++字符串操作函数整理
1. 概述
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是
否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的
需要。我们可以用=进行赋值操作,==进行比较,+做串联。我们尽可以把它看成是C++的基本数据类型。
首先,为了在我们的程序中使用string类型,我们必须包含头文件string。如下:
#includestring//注意这里不是string.h
string.h是C字符串头文件 。
1.1 声明一个C++字符串
声明一个字符串变量很简单:
stringStr;
这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,
所以就直接使用了string 的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。String类的构造
函数和析构函数如下:
表1-1C++String类构造函数与析构函数
strings; 生成一个空字符串s
strings(str) 拷贝构造函数生成str的复制品
strings(str,stridx) 将字符串str 内始于位置stridx的部分当作字符串的初值
strings(str,stridx,strlen) 将字符串str 内始于stridx且长度顶多strlen的部分作为字符串的初值
strings(cstr) 将C字符串作为s 的初值
strings(chars,chars_len) 将C字符串前chars_len个字符作为字符串s 的初值。
strings(num,c) 生成一个字符串,包含nu 个c字符
strings(beg,end) 以区间beg;end(不包含end)内的字符作为字符串s 的初值
s.~string() 销毁所有字符,释放内存
1.2 字符串操作函数
这里是C++字符串的重点。
表1-2C++字符串操作函数
=,assign() 赋以新值
swap() 交换两个字符串的内容
+=,append(),push_back() 在尾部添加字符
insert() 插入字符
erase() 删除字符
clear() 删除全部字符
replace() 替换字符
+ 串联字符串
==,!=,,=,,=,compare() 比较字符串
size(),length() 返回字符数量
max_size() 返回字符的可能最大个数
empty() 判断字符串是否为空
capacity() 返回重新分配之前的字符容量
reserve() 保留一定量内存以容纳一定数量的字符
[],at() 存取单一字符
,getline() 从strea 读取某值
将谋值写入strea
copy() 将某值赋值为一个C_string
c_str() 将内容以C_string返回
data() 将内容以字符数组形式返回
substr() 返回某个子字符串
begin()end() 提供类似STL 的迭代器支持
rbe
文档评论(0)