本篇文章系統地介紹一下標準i/o流、檔案i/o流和字串i/o流的基本概念和使用方法,都是基礎的理論,比較枯燥。所以我多用圖表的方式列出來,希望可以對c++流的概念有乙個基本的認識。
i/o是計算機的乙個重要組成部分,是人機互動的主要方式。在c++中,資料的輸入和輸出包括對標準輸入輸出裝置(鍵鼠和顯示器)、對外存磁碟上的檔案和對記憶體中制定的字元創儲存空間進行輸入輸出這三個方面。我們簡稱為標準i/o、檔案i/o和串i/o。
以下就針對這三個方面分別介紹:
首先下圖給出了c++所有的i/o類的繼承關係圖。(uml的線條有點亂,看起來有點繞哈,不過根據類名應該可以看出是誰繼承誰哈。)
從圖中可以看出,所有的流類都是由根基類ios
派生而來。c++流是指資訊從外部通過輸入裝置流入計算機內部(記憶體),以及從內部(記憶體)流向外部裝置。為了實現資訊的這種流動,c++系統定義了i/o類庫,其中每乙個類都被稱作流或流類,用以支援某一種資訊的流動功能。
以上的流程就是流類的使用該方法,通過例項化乙個流類,並與磁碟上的檔案(也可以是輸入輸出裝置或記憶體)關聯,那麼對這個流物件的操作就等同於對檔案(也可以是輸入輸出裝置或記憶體)的輸入輸出操作。我們熟悉的cin、cout、cerr、clog
就是編譯器為我們例項化的標準i/o操作,方便了使用者操作。
istream& operator>>(簡單型別識別符號&);
ostream& operator<
其中的簡單型別識別符號可以是:char、int、long、float、double、char*
等之中的任何一種,對於每一種型別都有乙個右移運演算法過載函式,當系統執行任何一種cin>>x
的時候,將根據實參x的型別呼叫相應的提取運算子過載函式,把x傳送給對應的引用形參,接著從鍵盤的輸入緩衝區讀入乙個值並賦給x,後返回cin流。同理,cout就是把表示式的值輸出到顯示器上。
C 流的概念
在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 cout 一般情況下就是指的顯示器,所以,cout write stdout 就表示把字串 writ...
C 流的概念
注意 1 在計算機程式設計中,流就是乙個類的物件,很多檔案的輸入輸出操作都以類的成員函式的方式來提供。2 計算機中的流其實是一種資訊的轉換。它是一種有序流,因此相對於某一物件,通常我們把物件接收外界的資訊輸入 input 稱為輸入流,相應地從物件向外輸出 output 資訊為輸出流,合稱為輸入 輸出...
C 流的概念 I O流
流是位元組序列的抽象概念,如檔案 輸入 輸出裝置 內部程序通訊管道 tcp ip套接字等。stream類是所有流的抽象基類,它可以為流提供一般性檢視,從而使得開發人員不需要了解i o裝置的具體細節。與流相關的操作包括以下3個基本操作。讀取流 即讀取流中的內容。寫入流 即將指定的內容寫入到流中。流支援...