c++標(biāo)準(zhǔn)庫<sstream>

<sstream>庫

  • <sstream>庫定義了三種類:istringstream惹谐、ostringstream和stringstream是整,分別用來進行流的輸入铡羡、輸出和輸入輸出操作墅垮。
  • 基于該類的轉(zhuǎn)換擁有類型安全和不會溢出的特性惕医。還可以通過重載來支持自定義類型間的轉(zhuǎn)換。
  • 如果你打算在多次轉(zhuǎn)換中使用同一個流對象算色,記住再每次轉(zhuǎn)換前要使用clear()方法抬伺;
<1>ostringstream

int、long剃允、double等類型轉(zhuǎn)換成字符串string類型沛简。

template<class T>
void to_string(string & result,const T& t){
    ostringstream oss;//創(chuàng)建一個流
    oss<<t;//把值傳遞如流中
    result=oss.str();//獲取轉(zhuǎn)換后的字符轉(zhuǎn)并將其寫入result
}
<2>stringstream

任意類型之間的轉(zhuǎn)換。將in_value值轉(zhuǎn)換成out_type類型

template<class out_type,class in_value>
out_type convert(const in_value & t){
    stringstream stream;
    stream<<t;//向流中傳值
    out_type result;//這里存儲轉(zhuǎn)換結(jié)果
    stream>>result;//向result中寫入值
    return result;
}
<3>istringstream

字符串轉(zhuǎn)基本類型

istringstream iss;
iss.str("123");//或者直接構(gòu)造  istringstream iss2("123 456");
int n;
iss >> n;

>>以空格為界斥废。會把輸入的流用空格分隔開椒楣。

   while(iss2>>str){//每次讀取一個單詞(以空格為界),存入str中 
        cout << str<<","; 
   }//123 456
<4>實例
  • 基本數(shù)據(jù)類型轉(zhuǎn)換牡肉。int轉(zhuǎn)string
    int n = 100;
    string str;
    //使用stringstream
    stringstream ss;
    ss << n;
    ss >> str;
    cout << str << endl;
    //使用ostringstream
    ostringstream oss;
    oss << n;
    str = oss.str();
    cout << str << endl;
  • char *的轉(zhuǎn)換
std::stringstream stream;
char result[8] ;
stream << 8888; //向stream中插入8888
stream >> result; //抽取stream中的值到result
std::cout << result << std::endl; // 屏幕顯示 "8888"
  • 多次轉(zhuǎn)換
    多次轉(zhuǎn)換時必須調(diào)用stringstream的成員函數(shù)clear().
std::stringstream stream;
int first, second;
stream<< "456"; //插入字符串
stream >> first; //轉(zhuǎn)換成int
std::cout << first << std::endl;
stream.clear(); //在進行多次轉(zhuǎn)換前捧灰,必須清除stream
stream << true; //插入bool值
stream >> second; //提取出int
std::cout << second << std::endl;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市统锤,隨后出現(xiàn)的幾起案子毛俏,更是在濱河造成了極大的恐慌,老刑警劉巖饲窿,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件煌寇,死亡現(xiàn)場離奇詭異,居然都是意外死亡逾雄,警方通過查閱死者的電腦和手機阀溶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門腻脏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人银锻,你說我怎么就攤上這事永品。” “怎么了击纬?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵鼎姐,是天一觀的道長。 經(jīng)常有香客問我更振,道長炕桨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任殃饿,我火速辦了婚禮谋作,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘乎芳。我一直安慰自己,他們只是感情好帖池,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布奈惑。 她就那樣靜靜地躺著,像睡著了一般睡汹。 火紅的嫁衣襯著肌膚如雪肴甸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天囚巴,我揣著相機與錄音原在,去河邊找鬼。 笑死彤叉,一個胖子當(dāng)著我的面吹牛庶柿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播秽浇,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼浮庐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了柬焕?” 一聲冷哼從身側(cè)響起审残,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎斑举,沒想到半個月后搅轿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡富玷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年璧坟,在試婚紗的時候發(fā)現(xiàn)自己被綠了既穆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡沸柔,死狀恐怖循衰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情褐澎,我是刑警寧澤会钝,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站工三,受9級特大地震影響迁酸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜俭正,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一奸鬓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧掸读,春花似錦串远、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至肾请,卻和暖如春留搔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铛铁。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工隔显, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人饵逐。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓括眠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親梳毙。 傳聞我的和親對象是個殘疾皇子哺窄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355