2012-09-03 15 views
3

我是BOOST庫的新手。今天,我看到一個小代碼段,讀取和寫入PGM格式的圖像是通過Boost Iostreams庫實現的。由於我對STL更熟悉,我可以很容易地知道std :: fstream可以完成同樣的工作。那麼我的問題是,在如此簡單的閱讀和編寫PGM圖像應用程序中使用Boost庫有什麼意義?此外,我想知道在哪種情況下最需要BOOST Iostreams Library。謝謝!std :: fstream和Boost Iostreams Library之間的區別

回答

2

std::fstreamreference

fstream的提供一個接口來讀取和從文件作爲 輸入/輸出流寫入數據。

Boost.Iostreams reference

了Boost.Iostreams有三個目的:

  • 爲了更容易創建標準的C++流和流緩衝來訪問新的來源和投資。
  • 提供一個框架來定義過濾器並將它們附加到標準流和流緩衝區。
  • 提供即用型過濾器,源和彙集。
+4

tbh as a semi noob這個對我來說沒有什麼......你說的那些過濾器,源和匯是什麼。我什麼時候需要使用它們? – NoSenseEtAl

+1

@NoSenseEtAl要知道這些過濾器,源和匯是什麼,你只需要閱讀我上面引用的Boost.Iostreams手冊。基本上,這就是數據位的流動方式:它們來自一個源,通過過濾器(在你處理數據的地方),併到達匯(S)。你可以很容易地組合源代碼過濾器,接收器等。但是,如果你只需要將某個文件讀入一個緩衝區,那麼你當然不需要所有這些。 –

相關問題