【C++ Primer | 08】IO库
生活随笔
收集整理的這篇文章主要介紹了
【C++ Primer | 08】IO库
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、istringstream類
描述:從流中提取數(shù)據(jù),支持?>>?操作
這里字符串可以包括多個(gè)單詞,單詞之間使用空格分開
#include <iostream> #include <sstream> using namespace std; int main() {istringstream istr("1 56.7");cout << istr.str() << endl;//直接輸出字符串的數(shù)據(jù) "1 56.7" string str = istr.str();//函數(shù)str()返回一個(gè)字符串 cout << str << endl;int n;double d;//以空格為界,把istringstream中數(shù)據(jù)取出,應(yīng)進(jìn)行類型轉(zhuǎn)換 istr >> n;//第一個(gè)數(shù)為整型數(shù)據(jù),輸出1 istr >> d;//第二個(gè)數(shù)位浮點(diǎn)數(shù),輸出56.7 cout << n << endl;cout << d << endl;d = 0;n = 0; istr >> d;//istringstream第一個(gè)數(shù)要自動變成浮點(diǎn)型,輸出仍為1 istr >> n;//istringstream第二個(gè)數(shù)要自動變成整型,有數(shù)字的階段,輸出為56 cout << d << endl;cout << n << endl;return 1; }輸出結(jié)果:?
?
?
二、ostringstream類
描述:把其他類型的數(shù)據(jù)寫入流(往流中寫入數(shù)據(jù)),支持 << 操作
#include <sstream> #include <string> #include <iostream> using namespace std;int main() {ostringstream ostr1;ostringstream ostr2("abc");ostr1 << "ostr1" << 2012 << endl; // 格式化,此處endl也將格式化進(jìn)ostr1中cout << ostr1.str();long curPos = ostr2.tellp(); //返回當(dāng)前插入的索引位置(即put pointer的值),從0開始 cout << "curPos = " << curPos << endl;ostr2.seekp(2); // 手動設(shè)置put pointer的值ostr2.put('g'); // 在put pointer的位置上寫入'g',并將put pointer指向下一個(gè)字符位置cout << ostr2.str() << endl;/*----------------------------------------------------------------------------重復(fù)使用同一個(gè)ostringstream對象時(shí),建議:1:調(diào)用clear()清除當(dāng)前錯(cuò)誤控制狀態(tài),其原型為 void clear (iostate state=goodbit);2:調(diào)用str("")將緩沖區(qū)清零,清除臟數(shù)據(jù)----------------------------------------------------------------------------*/ostr2.clear();ostr2.str("");cout << ostr2.str() << endl;ostr2.str("_def");cout << ostr2.str() << endl;ostr2 << "gggghh"; // 覆蓋原有的數(shù)據(jù),并自動增加緩沖區(qū)cout << ostr2.str() << endl; }輸出結(jié)果:
相關(guān)練習(xí):
1.?151. 翻轉(zhuǎn)字符串里的單詞
參考資料
1.?istringstream、ostringstream、stringstream 類介紹
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的【C++ Primer | 08】IO库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【第15章】虚函数
- 下一篇: 【Leetcode | 01】Backt