亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問fputs(sFileBuffer.str().c_str(),fFile);這樣會出問題嗎?

請問fputs(sFileBuffer.str().c_str(),fFile);這樣會出問題嗎?

C++
慕哥9229398 2022-05-27 15:11:11
我突然覺得stringstream很方便 ,但是由于不了解怕出問題。希望有人能給我講講這個的區別。我想用在文件的用它緩沖池,可以嗎?這樣寫:std::stringstream sFileBuffer;sFileBuffer<<a<<b<<"aaaaa"<<"aaaa".....(子子孫孫無窮盡也); fputs(sFileBuffer.str().c_str(),fFile);這樣會出問題嗎?
查看完整描述

1 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

不是stringstream很方便,而是STL很方便.不要前面使用stringstream,后面使用C函數.
你這里stringstream是多余的.可以
ofstream of( pszFilename ) ;
of <<a<<b<<"aaaaa"<<"aaaa".....(子子孫孫無窮盡也); //這里的數據已經到文件了.沒必要中間插個stringstream.
stringstream是彌補輸入設備(CIN), 輸出設備(COUT),外圍設備(fstream)在內存設備上數據格式化上的空缺. 但是某塊內存也需要這樣方便的IO操作,我們可以直接定義自己的stream_buf<>類,進行直接的重載<< >> 等操作符,而像fstream那樣省去stringstream.
所以C++是很變態很強大的東西,它本身的特征加上STL和boost庫.讓它成為最"高級",而卻支持最低級的操作(_asm{},指針). 加油吧.C++編程會你帶來驚喜的.


查看完整回答
反對 回復 2022-05-30
  • 1 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號