輸入輸出流

2021-06-08 14:22:15 字數 1444 閱讀 8177

c++ 通過以下幾個類支援檔案的輸入和輸出

ofstream寫操作的檔案類由ostream引申而來

ifstream讀操作的檔案類由istream引申而來

fstream可同時讀寫操作的檔案類由iostream引申而來

ifstream in("tian.txt");//開啟乙個檔案

ifstream in;

in.open("tian.txt",mode);

istream(輸入流)型別,提供輸入操作

ostream(輸出流)型別,提供輸出操作

cin:讀入標準輸入的istream物件

cout:寫道標準輸出的ostream物件

cerr:輸出標準錯誤的ostream物件

。cerr常用於程式錯誤資訊

getline函式,需要分別取istream型別和string型別的兩個引用引數,其功能是從istream物件讀取乙個單詞,然後寫入string物件中

io物件不可賦值和複製

檔案模式

in開啟檔案做讀操作

out開啟檔案做寫操作

ate開啟檔案後立即將檔案定位在檔案尾

trunc開啟檔案時清空已存在的檔案流

binary以二進位制模式進行io操作

從效果看為ofstream物件制定out操作模式等效於同時指定了out和trunc操作

預設時,與ifstream流物件關聯的檔案將以in模式開啟,該模式允許檔案做讀的操作;

與ofstream關聯的檔案則以out模式開啟,使檔案科協。以out模式開啟的檔案將被清空,丟棄該檔案

fstream預設情況下以in和out模式同時開啟,當檔案同時以in和out開啟時不清空。如果開啟fstream所關聯的檔案時,只使用out模式而不制定in模式,則檔案會清空已存在的資料。如果開啟檔案是制定了trunc模式,則檔案一定會被清空

fstream inout("copyout",fstream::in|fstream::out);儲存的所有資料

檔案模式的組合

out 開啟檔案做寫操作,刪除檔案中已有的資料

out|trunc與out模式相同

in開啟檔案做讀操作

in|out開啟檔案做讀、寫操作,並定位於檔案開頭處

in|out|trunc開啟檔案做讀、寫操作,刪除檔案中已經有的資料。

新增上ate只會改變檔案開啟時的初始位置,第一次讀或寫之前,將檔案定位於檔案末尾

乙個開啟並檢查輸入檔案的程式

ifstream& open_file(ifstream &in, const string &file)

字串流

string line,word;

while(getline(cin,line))

{istringstream stream(line);

while(stream>>word)

cout<>s1>>val1>>s2>>val2;

輸入輸出流

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

輸入輸出流

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

輸入輸出流

哈哈,今天終於開始更新部落格了 一時不知道寫什麼好,就寫一下最近學到的東西吧!123 4567 8 char p cout 請輸入一段文字 n while cin.peek n cout endl 123 4567 8 const int size 50 char buf size cout 請輸入...