stringstream的基本用法
2015-09-10 09:35
399 查看
stringstream是字符串流。它将流与存储在内存中的string对象绑定起来。
在多种数据类型之间实现自动格式化。
1 stringstream对象的使用
stringstream使用代码示例
输入:shanghai no1 school 1989
输出:shanghi no1 school 1989
shanghai
no1
school
1989
2stringstream提供的转换和格式化
输出为:val1: 512
val2: 1024
512 1024
3其他注意
stringstream不会主动释放内存(或许是为了提高效率),但如果你要在程序中用同一个流,反复读写大量的数据,将会造成大量的内存消 耗,因些这时候,需要适时地清除一下缓冲 (用 stream.str("") )
输出:
size of stream = 19
s: shanghai
size of stream = 0
stringstream使用代码示例
在多种数据类型之间实现自动格式化。
1 stringstream对象的使用
stringstream使用代码示例
#include <sstream>
#include <iostream> using namespace std; int main() { string line,word; while(getline(cin,line)) //从屏幕输入字符串 { stringstream stream(line);//定义了一个字符串流 cout<<stream.str()<<endl; while(stream>>word) { cout<<word<<endl; } } return 0; }<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
输入:shanghai no1 school 1989
输出:shanghi no1 school 1989
shanghai
no1
school
1989
2stringstream提供的转换和格式化
#include <sstream> #include <iostream> using namespace std; int main() { int val1 = 512,val2 = 1024; stringstream ss; //将int类型读入ss,变为string类型 ss<<"val1: "<<val1<<endl //"vall:"此处有空格,字符串流是通过空格判断一个字符串的结束 <<"val2: "<<val2<<endl; cout<<ss.str(); string dump; int a,b; //提取512,1024保存为int类型。当然,如果a,b声明为string类型 //那么这两个字面值常量相应保存为string类型 ss>>dump>>a>>dump>>b; cout<<a<<" "<<b<<endl; return 0; }
输出为:val1: 512
val2: 1024
512 1024
3其他注意
stringstream不会主动释放内存(或许是为了提高效率),但如果你要在程序中用同一个流,反复读写大量的数据,将会造成大量的内存消 耗,因些这时候,需要适时地清除一下缓冲 (用 stream.str("") )
#include <cstdlib> #include <sstream> #include <iostream> using namespace std; int main() { stringstream ss; string s; ss<<"shanghai no1 school"; ss>>s; cout<<"size of stream= "<<ss.str().length()<<endl; cout<<"s: "<<s<<endl; ss.str(""); cout<<"size of stream= "<<ss.str().length()<<endl; return 0; }
输出:
size of stream = 19
s: shanghai
size of stream = 0
stringstream使用代码示例
相关文章推荐
- 硬盘、内存
- ofstream ifstream文件操作
- fopen与读写的标识r,r+,rb+,rt+,w+.....
- MFC中UpdateData()函数的使用
- stdafx.h
- 单例模式
- 恢复vs2010误排除的项目
- vs2010中各类文件的作用
- vs2010修改工程名
- String... to 可变参数的使用
- HTTP协议之ETag字段
- 将php和mysql加入环境变量
- 改变UITextField placeHolder颜色、字体 、输入光标位置等
- myeclipse10激活注册码生成器代码
- 无法打开包含文件:&quot;fstream.h&quot;
- new与delete使用方法
- 分析setting源代码获取sd卡大小
- Coding CTO 孙宇聪:《人,技术与流程》
- JAVA中正则表达式匹配,替换,查找,切割的方法
- 微信中把任意mp4视频文件当做小视频发送的教程