没有合适的资源?快使用搜索试试~ 我知道了~
C++ string的使用方法
4星 · 超过85%的资源 需积分: 35 9 下载量 41 浏览量
2011-11-04
22:18:54
上传
评论
收藏 30KB DOCX 举报
温馨提示
试读
17页
速学string 1 string 使用 1.1 充分使用string 操作符 1.2 眼花缭乱的string find 函数 1.3 string insert, replace, erase 2 string 和 C风格字符串 3 string 和 Charactor Traits 4 string 建议 5 小结 6 附录前言: string 的角色
资源推荐
资源详情
资源评论
1
c++ string 的使用
2008-10-23 13:40 by Iron, 12 visits, 网摘, 收藏, 编辑
前言的角色
使用
充分使用 操作符
眼花缭乱的 函数
和 风格字符串
和
建议
小结
附录前言的角色
语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用 或者
,为什么?原因众多,其中之一就是 的文本处理功能太麻烦,用起来很不方
便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没
有领会 的精华,或者不太懂 ,现在我接触 和 脚本以后,开
始理解了以前为什么有人说 文本处理不方便了。
举例来说,如果文本格式是:用户名 电话号码,文件名
!"
#"$%
&
现在我们需要对用户名排序,且只输出不同的姓名。
2
那么在 编程中,可以这样用:
'()*+,- ../0
简单吧?
如果使用 就麻烦了,他需要做以下工作:
先打开文件,检测文件是否打开,如果失败,则退出。
声明一个足够大得二维字符数组或者一个字符指针数组
读入一行到字符空间
然后分析一行的结构,找到空格,存入字符数组中。
关闭文件
写一个排序函数,或者使用写一个比较函数,使用 0 排序
遍历数组,比较是否有相同的,如果有,则要删除,"&
输出信息
你可以用 或者 语言去实现这个流程。如果一个人的主要工作就是处理这种类似的
文本1例如做 的日志统计和分析2你说他会喜欢 么?
当然,有了 3,这些处理会得到很大的简化。我们可以使用 4 来代替麻烦的
444用 5来代替数组。最重要的是用 来代替 6数组,
使用 排序算法来排序,用 /0/函数来去重。听起来好像很不错 。看看下面代码
1例程 ):
#/78
#/78
#/78
#/758
#/748
/9
3
12*
41: :29
9
57859
'11)
)22
5/;<(1/<1=1-)2229
15<1251229
578>/0/15<1251229
"15<12;781/:
?229
/=9
,
也还不错吧,至少会比想象得要简单得多!(代码里面没有对错误进行处理,只是为了说
明问题,不要效仿2
当然,在这个文本格式中,不用 5 而使用 会更有扩充性,例如,还可通过人名
找电话号码等等,但是使用了 就不那么好用 了。你可以用 试一试。
这里 的作用不只是可以存储字符串,还可以提供字符串的比较,查找等。在
和 /0/ 函数中就默认使用了 和 0/; 函数上面的一段代码,其实使用了
的以下功能:
存储功能,在 12函数中
查找功能,在 12函数中
子串功能,在 /<12函数中
4
7默认在 12函数中调用
>>默认在 /0/12函数中调用
总之,有了 后,的字符文本处理功能总算得到了一定补充,加上配合 3 其
他容器使用,其在文本处理上的功能已经与 的距离缩小很多了。 因此掌
握 会让你的工作事半功倍。
使用
其实, 并不是一个单独的容器,只是 <;模板类的一个 "4而已,
相对应的还有 '你在 头文件中你会发现下面的代码
?:*
"4<;789
"4<;7';8'9
, ?:
由于只是解释 的用法,如果没有特殊的说明,本文并不区分 和
<; 的区别。
其实相当于一个保存字符的序列容器,因此除了有字符串的一些常用操作以外,还
有包含了所有的序列容器的操作。字符串的常用操作包括:增加、删除、修改、查找比较、
链接、输入、输出等。详细函数列表参看附录。不要害怕这么多函数,其实有许多是序列
容器带有的,平时不一定用的上。
如果你要想了解所有函数的详细用法,你需要查看 <;,或者下载 3 编程手
册。这里通过实例介绍一些常用函数。
充分使用 操作符
重载了许多操作符,包括 >7>@A7788等,正式这些操作符,对字
符串操作非常方便。先看看下面这个例子:(例程 )
剩余16页未读,继续阅读
资源评论
- yokcyk2012-08-11谢谢分享。WORD版本高了。用2003打不开
- 独钓1372015-08-15很不错,。对string做了详细的讲解。
zhanxi1992
- 粉丝: 24
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2SJ343-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 一款基于Matlab的像素级图像标记工具,支持FITS、JPG、PNG、TIF等图像格式,可导出所有标记点坐标+源代码+文档说明
- 基于javaweb的在线答题平台.zip
- 三菱PLC例程源码丹佛斯变频器与FX通讯实例(适用于所有丹佛斯变频器)
- 微信每日早安问候(用微信传递爱情).zip
- 基于matlab-模板匹配-角度修正的铭牌识别+源代码+文档说明
- 三菱PLC例程源码丹佛斯VT2800与FX2N用RS485通讯示例
- 微信 macOS 客户端增强 Tweak 动态库.zip
- UAM概念飞机 UAM概念飞机
- 一个使用 Java 开发的、类似 WordPress 的产品,支持多站点、多语种自动切换等.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功