C++ sstream 字符数据流的使用
来源:互联网 发布:什么叫面向对象编程 编辑:程序博客网 时间:2024/06/05 09:24
简介:
1 iostream支持程序和终端之间的I/O;
2 fstream支持程序和文件之间的I/O;
3 sstream支持程序和字符对象之间的I/O
sstream使用:
1 istringstream只允许读出字符,可以使用.str(s)初始化,不允许使用<<操作符
int main() {string s = "-3745 djjkf this ia s very good example";istringstream ss;ss.str(s);string sout;while (ss>>sout)cout<<sout<<endl;system("pause"); return 0;}
2 ostringstream只允许读入信息,使用<<,不允许使用>>操作,也可以使用.str(s)初始化。
注意:
1) 使用了str(s)初始化,那么当前读入的位置不变,继续使用<<就会覆盖str()初始化的内容
2) 重新使用str(s)也会覆盖前面所有内容
int main() {string s = "-3745 djjkf this ia s very good example";ostringstream ss;ss.str(s);string a = "HELLOWORLD";ss<<a;ss<<a;cout<<ss.str();system("pause"); return 0;}
3 stringstream兼具了前面两者的功能和特性
注意:
1 连续操作输入数据,需要使用clear()清空输入状态;
注意不是清空内容,是允许继续输入的意思,原来的内容还可以使用.str()读出。网上有人争论这个问题,其实也没什么好研究的,多动手,不能光凭手册理解判断。
2 要想实现真正清空,并重新输入数据需要使用.str("")和.clear()配合使用
int main() {string s = "-3745 djjkf this ia s very good example";stringstream ss;string a = "856";ss<<a;int i = 100;ss>>i;cout<<i<<endl;ss.clear();ss<<"000";cout<<ss.str()<<endl;ss.str("");ss.clear();ss<<"123";int j;ss>>j;cout<<j<<endl;cout<<ss.str();system("pause"); return 0;}
暂时没发现STL里面有好用的分隔符分隔函数,好像要使用strtok函数或者boost 的split,感觉和自己写函数实现没多大区别,方便不到哪里去。
1 0
- C++ sstream 字符数据流的使用
- 文件流fstream和字符串流sstream的使用
- [日常学习][C++]字符串流 <sstream>
- sstream 与 fstream的使用
- sscanf和sstream的使用
- C++:<sstream>头文件的应用
- C++ 字符串流sstream
- C++中sstream的简单使用
- SStream头文件的使用技巧
- 【C++】使用sstream头文件进行格式转换
- c++/sstream/stoi/
- 数据流图的使用
- sstream使用范例
- 使用sstream进行int转换string的注意事项
- C++的sstream类库
- sstream类的详解
- sstream的用法
- sstream类的详解
- Ext js的学习笔记---Ext js基础架构
- Discuz!NT中的Redis架构设计
- UI端网站收藏
- 选择很容易,坚持很重要
- NodeJS无所不能:细数10个令人惊讶的NodeJS开源项目
- C++ sstream 字符数据流的使用
- MapReduce中的二次排序
- 关于程序员的59条搞笑但却真实无比的编程语录
- VC6调试IE8的Activex、BHO
- 背景图片的定位
- Tumblr 架构设计
- wxWidgets界面设计工具DialogBlocks
- 关于DDS的几点理解
- Ext Tree 异步加载数据