C STL輸入輸出流

2021-09-30 11:39:23 字數 2424 閱讀 2067

1.標準輸入的不足

#includeusing namespace std;

int main()

in.close();

return 0;

}

(2)寫文字檔案:把學生成績資訊儲存至檔案

#include #include using namespace std;

struct student //學生成績結構體

;int main() ;//用結構體產生兩名學生的成績資訊

student st2 =;

out << st1.strname << "\t" << st1.ngrade << endl;//把成績資訊存到文字檔案

out << st2.strname << "\t" << st2.ngrade << endl;

out.close();

return 0;

}

可以看出,通過「<<」完成寫文字檔案是乙個較好的方法,這是因

為「<<」操作符可把不同型別的資料直接輸出。結構體中strname是

字串,ngrade是整形數,但均可直接輸出到檔案上即可。此

外strname與ngrade之間採用「\t」輸出是為了資料對齊,

而「endl」保證輸出「\n」回車符,保證了文字檔案的換行,是必須的。

(3)讀寫二進位制檔案

主要是通過read()、write()函式完成讀寫二進位制檔案功能的,原型如

下所示

ostream& write(const char *, int nsize)

istream& read(char *, int nsize)

第1個引數表明讀寫緩衝區的頭指標,第二個引數表明讀寫緩衝區的大小

(4)寫二進位制檔案:把學生成績資訊儲存至檔案中

#include #include using namespace std;

struct student //學生成績結構體

;int main() ;//用結構體產生兩名學生的成績資訊

student st2 =;

out.write((const char *)&st1, sizeof(student)); //把成績資訊存到二進位制 檔案

out.write((const char *)&st2, sizeof(student));

out.close();

return 0;

}

(5)讀二進位制檔案,並把結果顯示在螢幕上。

#include #include using namespace std;

struct student

;int main()

(3) 輸入輸出流緩衝

c++標準庫封裝了乙個緩衝區類streambuf,以供輸入輸出流物件使用。每個標

準c++輸入輸出流物件都包含乙個指向streambuf的指標,

使用者可以通過調

用rdbuf()成員函式獲得該指標,從而直接訪問底層streambuf物件,可以直接對

底層緩衝區進行資料讀寫,從而跳過上層

的格式化輸入輸出操作。但由於類似的

功能均可由上層緩衝區類實現,所以就不再加以論述了。streambuf最精彩的部

分在於它過載了

operator 《及operator >>。對operator 《來說,它以streambuf

指標為引數,實現把streambuf物件中的所有字元輸出到輸出流出中;對

operator >>來說

可把輸入流物件中的所有字元輸入到streambuf物件中。

(6)開啟乙個檔案並把檔案中的內容送到標準輸出中。

#include #include using namespace std;

int main()

5.字串輸入輸出流

標準庫定義了三種型別的字串流。

istringstream

輸入流,提供讀string功能

ostringstream

輸出流,提供寫string功能

stringstream

輸入輸出流,讀寫string功能

(1)反解字串給各變數賦值

#include #include using namespace std;

int main()

(2)合併不同型別的資料到字串

#include #include using namespace std;

int main()

輸入輸出流

c 通過以下幾個類支援檔案的輸入和輸出 ofstream寫操作的檔案類由ostream引申而來 ifstream讀操作的檔案類由istream引申而來 fstream可同時讀寫操作的檔案類由iostream引申而來 ifstream in tian.txt 開啟乙個檔案 ifstream in in...

輸入輸出流

預定義流類的物件與通用的流運算子 1 cin 2 cout 3 cerr是ostream類物件,在標準輸出裝置上顯示錯誤資訊 不帶緩衝,立即顯示 輸入輸出流 ostream 和 ofstream istream 和 ifstream fstream 定義檔案輸出流物件 fstream outfile...

輸入輸出流

流 按照方向分為 輸入流和輸出流。以記憶體為參照物將資料從資料來源中讀取到記憶體,為輸入流,也叫讀取流。將資料從記憶體中寫入資料來源,為輸出流,也稱為寫入流 流按照型別分 分為位元組流,字元流和物件流。由於計算機採用二進位制,所有資料的傳輸都是以位元組為單位傳輸。所以無論是那種流,其本質都是位元組流...