cin
cin是iostream類的對象,它是從標準輸入設備(鍵盤)獲取數據,程式中的變數通過流提取符">>"從流中提取數據。流提取符">>"從流中提取數據時跳過輸入流中的空格、tab鍵、換行符等空白字元。注意:只有在輸入完數據再按回車鍵後,該行數據才被送入鍵盤快取區,形成輸入流,提取運算符">>"才能從中提取數據。需要注意保證從流中讀取數據能正常運行。
例如:
int a,b;
cin>>a>>b;
若從鍵盤中輸入:21 abc 回車
變數a從輸入流中提取整數21,提取操作成功,此時cin流出於正常狀態。cin跳過讀取空格,讀取下一段緩衝區,但在變數b準備提取一個整數時,遇到了字母a,顯然提取操作失敗了,此時,cin流被置為出錯狀態。
只有在正常狀態,才能從輸入流中提取數據。
成員函式
除了可以用cin輸入標準類型的數據外,還可以用iostream類流對象的一些成員函式,實現字元的輸入。如cin.get(),cin.getline(字元數組(或字元指針),字元個數n,終止標誌字元)
其他函式
eof函式
eof是end of file 的縮寫,表示“檔案結束”。從輸入流讀取數據,如果到達檔案末尾(遇到檔案結束符),eof函式值為非零值(表示真),否則為0(表示假)。
peek函式
peek是觀察的意思,peek函式的作用是觀測下一個字元。
調用形式為c=cin.peek();
putback函式
調用形式為cin.putback(ch)
其作用是將前面用get或者getline函式從輸入流中讀取的字元ch返回到輸入流,插入到當前指針的位置,供後面讀取。
ignore函式
調用形式為cin.ignore(n,終止字元)
函式作用是跳過輸入流中n個字元,或在遇到指定的終止字元時提前結束(此時跳過包括終止字元在內的若干字元)。