對C 流概念的理解

2021-04-16 19:37:58 字數 1827 閱讀 9478

在計算機程式設計中,流就是乙個類的物件,很多檔案的輸入輸出操作都以類的成員函式的方式來提供。

計算機中的流其實是一種資訊的轉換。它是一種有序流,因此相對於某一物件,通常我們把物件接收外界的資訊輸入(input)稱為輸入流,相應地從物件向外輸出(output)資訊為輸出流,合稱為輸入/輸出流(i/o streams)。物件間進行資訊或者資料的交換時總是先將物件或資料轉換為某種形式的流,再通過流的傳輸,到達目的物件後再將流轉換為物件資料。所以,可以把流看作是一種資料的載體,通過它可以實現資料交換和傳輸。

二.個人理解

程式中流的概念和作業系統中流的概念是不一樣的,作業系統中的流可以看成是資料流,而程式中的流的概念其實是乙個用來處理流的類。

三.其他理解

流就是在記憶體中運算元據的一種方式

.net中有多種多樣的流型別

c#裡有很多封裝類不一定都要用流 

如果需要操作二進位制資料

那麼 使用流操作就成為首選

實現讀寫示例:

//讀

filestream s = new filestream("d://aa.txt",filemode.open,fileaccess.read);

//根據檔案的位元組長度定義陣列長度

byte b = new byte[s.length];

//讀取內容,存入陣列中

s.read(b,0,b.length);

string str = encoding.default.getstring(b,0,b.length);

console.writeline(str);

//關閉流

s.close();

//寫

filestream fout = new filestream("d://1.txt",filemode.createnew);

string s = "abc";

//將字串轉換成位元組陣列

byte b = encoding.default.getbytes(s);

fout.write(b,0,b.length);

//關閉

fout.close();

緩衝流讀寫示例:

filestream fout = new filestream("d://c.txt",filemode.create);

bufferedstream bs = new bufferedstream(fout);

string s = "aabc";

byte b = encoding.default.getbytes(s);

bs.write(b,0,b.length);

//bs.flush();

bs.close();

讀寫txt檔案示例:

streamreader s = new streamreader("c://readme.txt",encoding.getencoding("gb2312"));

while(true)

s.close();

streamwriter sw = new streamwriter("c://qq.txt");

sw.writeline("aa");

sw.writeline("bb");

sw.writeline("中文");

sw.close();

file.setattributes("c://aaaa.txt",fileattributes.readonly);

頂樓上的.

mark

檔案流:filestream ;

二進位製流:binarystream;

C 流的概念

本篇文章系統地介紹一下標準i o流 檔案i o流和字串i o流的基本概念和使用方法,都是基礎的理論,比較枯燥。所以我多用圖表的方式列出來,希望可以對c 流的概念有乙個基本的認識。i o是計算機的乙個重要組成部分,是人機互動的主要方式。在c 中,資料的輸入和輸出包括對標準輸入輸出裝置 鍵鼠和顯示器 對...

C 流的概念

在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o,stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 cout 一般情況下就是指的顯示器,所以,cout write stdout 就表示把字串 writ...

C 流的概念

注意 1 在計算機程式設計中,流就是乙個類的物件,很多檔案的輸入輸出操作都以類的成員函式的方式來提供。2 計算機中的流其實是一種資訊的轉換。它是一種有序流,因此相對於某一物件,通常我們把物件接收外界的資訊輸入 input 稱為輸入流,相應地從物件向外輸出 output 資訊為輸出流,合稱為輸入 輸出...