1.stringstream 用流轉換
cin cout都是流的操作 iostream
cin的時候,從屏幕讀取字符串流,自動判斷類型(省去了scanf的格式控制)
stringstream大概理解成這個操作是沒問題的
將string作為流讀入stringstream
再從流中讀出來,給int
相當於自己手動操作的cin了
string s="123";
stringstream stm;
stm<<s;//讀取s,成為流
int n;
stm>>n;//將流輸入到n中
需要注意的是,多次使用stringstream
需要用到stm.clear(),重置流的狀態,並不釋放內存
和stm.str(""),釋放stm占用的內存空間,也就是賦值
2.c語言的sscanf函數
這個理解成c語言里的手動操作輸入就行了
scanf是從屏幕讀取,這個函數sscanf是從別的地方讀取,比如
int a;
sscanf("123","%d",&a);
cout<<a;
將"123"這個字符串以int格式輸入a變量
跟stringstream很相似,stringstream是c++的,省去了判斷類型
3.有sscanf,自然有sprinf
不過以上兩種夠我用了,暫時不寫了