我們讀取輸入時一般無法讀取空白字元(空格 換行 tab) 但使用getline(cin,str)可以讀取一行輸出,獲得的str,我們可以建立乙個stringstream ss (str); 再讓ss>>給其他接受者。這裡的接受者不止可以是string類 甚至可以是int型別的數字
下面是幾道杭電oj的例題
hdu2072 統計一句話中不同的單詞數
#include #include #include#include#include#includeusing namespace std;
void use_map()
cout << strset.size() << endl; }}
void use_set()
cout << strset.size() << endl; }}
int main()
hdu2094 set
#include #include #include#include#includeusing namespace std;
const int maxn=1000+5;
string victory[maxn],defeat[maxn];
setwinner;
int main()
for(int i=0;i::iterator it=winner.begin();it!=winner.end();it++)
for(int i=0;i::iterator it=winner.begin();it!=winner.end();it++)
}
hdu1106
使用string和sstream 給出一串連續的數字如0051231232050775 要求遇見5,則將字串切割,並將每個切割後的數字排序輸出
#include #include #include#include#includeusing namespace std;
priority_queue,greater>pq;
int main()
//直接把ss流輸入給int value 不需要轉換
while(!pq.empty())
cout此外,cin>>,scanf和cin.get() 在讀取字串時不會讀取換行符(但在scanf("%c",&ch)情況下,還是會將換行符寫入ch),
即換行符留在緩衝區,而getline()會將換行符從緩衝區內讀取(消失),但並不儲存換行符 消耗多餘換行符可以使用getchar( );
下圖1中,string s一直為空
set相關容器
簡介 本質 set和multiset區別 功能描述 建立set容器以及賦值 構造 賦值 示例 include 構造和賦值 sets1 s1.insert 10 s1.insert 30 拷貝構造 sets2 s1 賦值 sets3 s3 s2 函式原型 示例 include sets1 s1.ins...
sstream和strstream的用法
在c 有兩種字串流 也稱為陣列 i o流,一種在 strstream 中定義,另一種在 sstream 中定義。它們實現的東西基本一樣。strstream裡包含 class strstreambuf class istrstream class ostrstream class strstream ...
Set集合相關20200917
1,set集合,繼承自collection,不包含重複的元素。沒有帶索引的方法,所以不能使用普通for迴圈。而進行遍歷時,不一定按照順序取值。2,雜湊值是jdk通過字串或者數值或者物件的位址經過運算得到的乙個整型的數值。預設情況下,不同物件的雜湊值是不相同的,但是通過在類中對雜湊值進行重寫,可以實現...