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 請輸入...