电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

STLString非常详细有用VIP免费

STLString非常详细有用_第1页
1/11
STLString非常详细有用_第2页
2/11
STLString非常详细有用_第3页
3/11
1 STL String 非常详细 1 前言: string 的角色 2 string 使用 2.1 充分使用string 操作符 2.2 眼花缭乱的string find 函数 2.3 string insert, replace, erase 3 string 和 C 风格字符串 4 string 和 Charactor Traits 5 string 建议 6 小结 7 附录 8 参考文章 前言: string 的角色 C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者 C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会 C++的精华,或者不太懂 C++,现在我接触 perl, php, 和Shell 脚本以后,开始理解了以前为什么有人说 C++文本处理不方便了。 举例来说,如果文本格式是:用户名 电话号码,文件名 name.tx t 2 Tom 23245332 Jenny 22231231 Heny 22183942 Tom 23245332 ... 现在我们需要对用户名排序,且只输出不同的姓名。 那么在shell 编程中,可以这样用: awk '{print $1}' name.txt | sort | uniq 简单吧? 如果使用C/C++ 就麻烦了,他需要做以下工作: 1. 先打开文件,检测文件是否打开,如果失败,则退出。 2. 声明一个足够大得二维字符数组或者一个字符指针数组 3. 读入一行到字符空间 4. 然后分析一行的结构,找到空格,存入字符数组中。 5. 关闭文件 6. 写一个排序函数,或者使用写一个比较函数,使用qsort 排序 7. 遍历数组,比较是否有相同的,如果有,则要删除,copy... 8. 输出信息 你可以用C++或者 C 语言去实现这个流程。如果一个人的主要工作就是处理这种类似的文本(例如做 apache 的日志统计和分析),你说他会喜欢 C/C++么? 当然,有了 STL,这些处理会得到很大的简化。我们可以使用 fstream 来代替麻烦的fopen fread fclose, 用vector 来代替数组。最重要的是用 string来代替 char * 数组,使用sort排序算法来排序,用unique 函数来去重。听起来好像很不错 。看看下面代码(例程 1): #include #include #include #include #include using namespace std; int main(){ ifstream in("name.txt"); string strtmp; vector vect; while(getline(in, strtmp, '\n')) vect.push_back(strtmp.substr(...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

STLString非常详细有用

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部