C 之輸入輸出流和檔案傳輸流

2022-06-17 20:48:13 字數 2463 閱讀 2881

ios是抽象基類,由它派生出istream類和ostream類, iostream類支援輸入輸出操作,iostream類是從istream類和ostream類通過多重繼承而派生的類

類ifstream繼承了類istream,類ofstream繼承了類ostream,類fstream繼承了 類iostream

iostream標頭檔案中4種流物件

物件含義

對應裝置

對應的類

c語言中相應的標準檔案

cin標準輸入流

鍵盤istream_withassign

stdin

cout

標準輸出流

螢幕ostream_withassign

stdout

cerr

標準錯誤流

螢幕ostream_withassign

stderr

clog

標準錯誤流

螢幕ostream_withassign

stderr

cout補充

1、用「cout<

並根據其型別選擇呼叫與之匹配的運算子過載函式。這個過程都是自動的,使用者不必干預。

如果在c語言中用prinf函式輸出不同型別的資料,必須分別指定相應的輸出格式符,十分麻煩,而且容易出錯

2、cout流在記憶體中對應開闢了乙個緩衝區,用來存放流中的資料,當向cout流插 人乙個endl時,

不論緩衝區是否已滿,都立即輸出流中所有資料,然後插入乙個換行符, 並重新整理流(清空緩衝區)。

注意如果插人乙個換行符」\n「(如cout<3、在iostream中只對"<>"運算子用於標準型別資料的輸入輸出進行了過載,但未對使用者宣告的型別資料的輸入輸出 進行過載。

如果使用者宣告了新的型別,並希望用"<>"運算子對其進行輸入輸出,按照重運算子過載來做。

cout 流通常是傳送到顯示器輸出,但也可以被重定向 輸出到磁碟檔案,而cerr流中的資訊只能在顯示器輸出

cerr是不經過緩衝區,直接向顯示器上輸出有關資訊,而clog中的資訊存放在緩衝區中,緩衝區滿後或遇endl時向顯示器輸出

重點掌握的函式

cin.get()                 //讀入乙個字元並返回它的值

cin.get(乙個引數)  //讀入乙個字元並把它儲存在ch 

cin.get(兩個引數)  //可以讀取字串

cin.get(三個引數)  //可以讀字串        

cin.getline()

cin.ignore()           //讀取字元並忽略指定字元

cin.peek()            //檢查下乙個輸入的字元,不會把字元從流中移除

cin.putback()       //返回乙個字元給乙個流

cin.clear()  //清空cin緩衝

重要1、使用cin,從流中讀出的字元,流中就沒有這字元了,再次讀取時只能讀取剩下的

2、緩衝去只有在遇到eof、手動敲回車、流(快取區)滿時,才將流中的字元全部讀出(即清空快取區)

練習1、從流中取乙個字元,然後在放進去;

2、判斷流中的第乙個字元是不是放進去的那個字元;

3、從流中讀取10個字元;

4、從流中忽略5個字元,再讀取10個字元;

5、最後讀取剩下的字元,最後輸出讀到的所有字元

#include using namespace std;

int main()

; char str2[11] = ;

char str3[100] = ;

//從流中取乙個字元,然後在放進去

ch1 = cin.get();

cin.putback(ch1);

//判斷流中的第乙個字元是不是放進去的那個字元

look = cin.peek();

if(look == (int)ch1)

; /*********** 寫檔案 *************/

//方式1 輸出流ofstream物件呼叫fopen函式

ofstream fout;

fout.open(fname,ios::out);

if(!fout)

teacher(int age,char name[20])

void prinfinfo()

{ cout<

teacher name:xiaoming age:31

teacher name:xiaohong age:32

teacher name:xiaohua age:33

teacher name:xiaoxin age:34

**:

c 中的輸入 輸出和檔案流

前言 最近又拾起了c primer plus,於是學習了這一章,於是寫下部落格記錄以前忽略的。1.關於cout的輸出精度,系統預設的是6,也就是顯示的總位數,但是如果末尾的數字為0,會省略,比如13.2000的精度為6,但是列印出來為13.2,0被省略 所以如果我們想要修改精度,怎麼修改?在cout...

C 流 檔案操作(輸入輸出流)

到目前為止,我們已經使用了iostream標準庫,它提供了cin和cout方法分別用於從標準輸入讀取流和向標準輸出寫入流。本教程介紹如何從檔案讀取流和向檔案寫入流。這就需要用到 c 中另乙個標準庫fstream,它定義了三個新的資料型別 資料型別 描述ofstream 該資料型別表示輸出檔案流,用於...

C 檔案輸入輸出流

dat 檔案 資料檔案 二進位制檔案字尾名為 bin 文字檔案 字尾名 txt doc.docx wps 以ascii 碼儲存資料的 檔案指標,用於指明其位置 檔案開關 fopen 第二個引數char 型別 需要 括起來 err fopen s fp1,file information.txt a ...