基本io庫型別:
istream(輸入流)型別, 提供輸入操作
ostream(輸出流)型別,提供輸出操作
cin, 乙個istream物件,從標準輸入讀取資料
cout, 乙個ostream物件,向標準輸出寫資料
cerr,乙個ostream物件,通常用於輸出程式錯誤資訊,寫入到標準錯誤
>>: 用來從乙個istream物件讀取輸入資料
<<: 用來向乙個ostream物件寫入資料
getline:從乙個給定的istream讀取資料,並存入string物件
檔案io類:
應用程式常常需要讀寫命名檔案,所以我們可以通過fstream向檔案讀寫資料
ifstream 從檔案讀取資料 ofstream 向檔案寫入資料
fstream 讀寫檔案
字串io類:
istringstream 從字串讀取資料
ostringstream 向字串寫入資料
ifstream和istringstream都繼承於istream 所以使用方法類似
io物件無物件或拷貝:
#include#include#includeusing namespace std;
int main()
進行io操作的函式一般使用引用方式,讀寫乙個io物件會改變其狀態
傳遞和返回的引用不能是const的
檢測流輸入是否正確:
讀操作有時候會發生錯誤: 如int ival; cin>> ival;
如果輸入boo則會發生錯誤 無法正確讀取資料,因此,要進行檢測
#include#include#includeusing namespace std;
void testistreamright()
int main()
查詢流的狀態:
有時候我們也需要知道io輸入輸出為什麼會發生錯誤,這時候需要流狀態檢測,然後選擇正確的處理方式
io庫定義了乙個與機器無關的iostate型別,它提供了表達流狀態的完整功能
badbit表示系統級錯誤:如不可恢復或讀寫錯誤,一旦被置位,便不可再被恢復
failbit:發生可恢復錯誤後,failbit被置位,該錯誤可被修正
乙個檔案讀取結束後:
eofbit和failbit都會被置位,goodbit的值為,表示未發生錯誤
badbit,failbit,eofbit任意乙個被置位後,表示發生錯誤
管理條件狀態:
rdstate(); //記住cin當前的狀態
setstate函式將給定條件位置位,表示發生對應錯誤
clear復位對應操作位;
檢測各個位是否被改變:
void checkbit()
if (cin.fail())
if (cin.bad())
if (cin.good())
}
位狀態的具體運用:
int main()
接收大檔案流 C IO流的用法
流 stream 為c 的輸入輸出操作提供了許多的便利,通常我們使用的流是std out用於輸出,使用std cin用於接收使用者的輸入,除此之外,c 還提供了檔案流用於實現檔案的讀寫操作,字串流用於進行字串的操作。c 提供的流 stream 包括三種型別 用於控制台輸入 輸出的流 用於檔案操作的檔...
C IO流的操作(二)
檔案在作業系統中是以二進位制 01 的形式儲存到磁碟上的,在c 程式當中,我們可以通過讀取流將檔案讀取到byte當中 讀到記憶體中 也可以通過寫入流將byte寫入檔案 儲存到磁碟上 下面將演示一例檔案與資料庫結合的示例 將檔案儲存到資料庫,再從資料庫還原為檔案。寫入檔案到資料庫部分 寫入按鈕事件 p...
C IO流的操作(二)
檔案在作業系統中是以二進位制 01 的形式儲存到磁碟上的,在c 程式當中,我們可以通過讀取流將檔案讀取到byte當中 讀到記憶體中 也可以通過寫入流將byte寫入檔案 儲存到磁碟上 下面將演示一例檔案與資料庫結合的示例 將檔案儲存到資料庫,再從資料庫還原為檔案。寫入檔案到資料庫部分 寫入按鈕事件 p...