stringstream的基本用法
生活随笔
收集整理的這篇文章主要介紹了
stringstream的基本用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
stringstream是字符串流。它將流與存儲在內存中的string對象綁定起來。
在多種數據類型之間實現自動格式化。
1 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; }輸入: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;ss<<"val1: "<<val1<<endl ? ? ? ? ?//“val1: "此處有空格,字符串流是通過空格判斷一個字符串的結束<<"val2: "<<val2<<endl;cout<<ss.str();string dump;int a,b;ss>>dump>>a
>>dump>>b;cout<<a<<" "<<b<<endl;return 0; }
輸出為:val1: 512
val2: 1024
512 1024
第一處黑體字部分:將int類型讀入ss,變為string類型
第二處黑體字部分:提取512,1024保存為int類型。當然,如果a,b聲明為string類型,那么這兩個字面值常量相應保存為string類型
3其他注意
stringstream不會主動釋放內存(或許是為了提高效率),但如果你要在程序中用同一個流,反復讀寫大量的數據,將會造成大量的內存消 耗,因些這時候,需要適時地清除一下緩沖 (用 stream.str("") )
#include <cstdlib> #include<iostream> #include<sstream> 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; }輸出:
size of stream = 19
s: shanghai
size of stream = 0
轉載于:https://www.cnblogs.com/propheteia/archive/2012/07/12/2588225.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的stringstream的基本用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32 的 JLink 调试时「Fl
- 下一篇: Sring3MVC页面无刷新上传文件