流與緩沖區的理解
阿新 • • 發佈:2018-08-22
min 緩沖 file 應用 之間 tails library 是個 std
流的概念
- 流是一個 過程 ,一個 動態 的概念
(可以把流想象成水在水管中流動的過程,想象成商品快遞運送的過程。cin和cout就是 執行 流這個過程的人)
- 流 負責 操作 緩沖區,輸入輸出流是 操作 的 實現
- 對於輸入,cin負責把輸入緩沖區中的內容傳遞給程序;
- 對於輸出,cout負責把輸出緩沖區中的內容傳遞給屏幕。
(cin和cout把緩沖區的數據變成流,然後 搬運 到相應的目的地。cin和cout就是個 搬運工 , 搬運的過程 就是流)
- 程序 和 流源 或 流目標 之間的橋梁
- 使得C++程序可以以 相同的方式 對待來自 鍵盤 的輸入和來自 文件 的輸入
- C++程序只檢查 字節流
- C++程序處理輸出的方式將獨立於其去向
- 輸入流需要兩個連接,每端各一個
- 文件端連接 提供了流的來源
- 程序端連接 將流的流出部分轉儲到程序中
- (文件端連接可以是文件,也可以是設備)
- 對輸出的管理包括將 輸出流 連接到 程序 以及將 輸出目標 與 流 關聯起來
緩沖區的概念
標準庫 提供緩沖是為了減少對read和write的調用(能更高效地處理輸入和輸出)
用作中介的內存塊,將信息從設備傳輸到程序或從程序傳輸給設備的 臨時存儲工具
參考資料
C/C++中關於輸入輸出緩沖區和流的概念理解
c語言庫函數
c++文件和流
c++標準輸入輸出流
C++ STL 基礎及應用(4) 輸出輸出流
紅黑聯盟 https://www.2cto.com/kf/ware/cpp/index.html
流與緩沖區的理解