C 中的流與IO

2022-09-19 20:03:12 字數 850 閱讀 2916

主要包含三個概念:後台儲存、裝飾器以及流介面卡。

後台儲存是輸入輸出的終結點,例如檔案或者網路連線。準確地說,它可以是以下的一種或者兩種:

使用後台儲存,必須公開相應的介面。而stream正是實現這個功能的.net標準類。它支援標準的讀、寫以及定位方法。它與陣列不同,流並不會直接將資料儲存在記憶體中,流會以每次乙個位元組或者每次一塊資料的方式按照序列處理資料。

流可以分為兩類:

後台儲存流:它們是與特定的後台儲存型別連線的流,例如filestream或者networkstream。

裝飾器流:這些流會使用其他的流,並以某種方式轉換資料。例如deflatestream或者cryptostream。

後台儲存流和裝飾器流僅支援位元組處理。雖然這種方式靈活又高效,但應用程式往往需要處理更高層次的資料,例如文字或者xml。介面卡正好彌補了這個鴻溝。它在類中建立專門的方法以支援特定的格式。例如,textreader有乙個readline方法,而xmltextwriter則擁有writeattribute方法。

抽象的stream類是所有流的基類。它的方法和屬性定義了三種基本的操作:讀、寫、查詢。除此之外,它還定義了一些管理性的任務,例如關閉、重新整理(flush)和配置超時時間。

c 檔案與流I O

重點是理解什麼是流!資料流是一串連續不斷的資料的集合,就象水管裡的水流,在水管的一端一點一點地供水,而在水管的另一端看到的是一股連續不斷的水流。資料寫入程式可以是一段 一段地向資料流管道中寫入資料,這些資料段會按先後順序形成乙個長的資料流。對資料讀取程式來說,看不到資料流在寫入時的分段情況,每次可以...

C 中的I O流筆記

位元組流可以是任何在記憶體儲存的資訊。cin是類istream的物件,cout是類ostream的物件。和 能自動識別輸入輸出型別。過載插入和抽取運算子的過載只能用友元函式形式過載,因為這些物件不是自定義的。過載函式格式 ostream operator ostream stream,const 類...

IO流中緩衝流的學習與理解

緩衝流這個概念是針對底層流來說的,屬於高層次的流,在平常的底層流 位元組輸入流 的使用中,發現的問題就是效率比較低,cpu與io的互動比較慢,原因主要在於io是慢速裝置,在僅僅使用位元組流來單位元組讀寫時,cpu需要經常等待io,所以導致讀寫效率太低。此時,引入緩衝的概念,先把多個位元組的資料放入記...