第3章 鍵盤輸入和螢幕輸出
3.1簡單的鍵盤輸入
Data Stream(資料流):資料流物件用於在各種不同的裝置(如鍵盤和螢幕)上執行基本的資料輸入和輸出操作。
所謂流,就是與輸入輸出裝置相關聯的資料通訊物件。
輸入:cin>>" "; 輸出:cout <<“ ”;
3.2流操縱符
流操縱符(setw, setfill, fixed,setprecision)用於對輸入和輸出資料流進行修改。
當程式中出現,在圓括號中有一個引數的流操縱符時,標頭檔案要加#include <iomanip>
setw :設定資料域的寬度(資料項在螢幕上所佔的列數)
setw 對輸出流中的下一個資料項起作用;
如果域寬設定得太小不足以顯示一個數值,
那麼系統會自動調整域寬,使其能夠顯示資料的所有位的數字;
setfill :把佔位符從空格改變為其他字元
setfill 把佔位符從空格改變為其他字元 ;
setfill 對送入輸出流中的所有後繼資料項都起作用;
setprecision: 用於指定要顯示的資料的位數
流操縱符fixed 和setprecision 將 一直對輸出流中的後繼資料項起 作用。
*endl:將游標移動到一個新行的起始位置,也屬於流操縱符,第2章已提到過,不再贅述
3.3 單個字元的輸入和輸出
Whitespace Characters(空白字元):
在螢幕上產生的顯示結果是不可見的空白或空格, 如Tab、Enter和空格鍵。
輸入方法:
一是用noskipws:不管從鍵盤讀入什麼
二是將函式get( )與輸入流物件 cin 聯合使用
輸出方法:
cout and its<<;
利用輸出流物件 cout 的成員函式put( )來顯示一個字元。
從鍵盤讀取單個字元(包括空格)
char ch; cin>>ch; cin>>noskipws>>ch;//從鍵盤讀取單個字元(包括空格) cin.get(ch); cout.put.(ch)
Programming pitfalls
1. 不要混淆流插入運算子(<<輸出)和流提取運算子(>>輸入)。
2. 某些流操縱符只作用於下一個資料域(例如setw);
而另外一些流操縱符(例如 setprecision)對所有的後繼資料域都起用。
3. 在使用圓括號中有一個引數的流操縱符時,例如setw( 4 ),標頭檔案#include<iomanip>是必需的。
對於其他流操縱符(例如endl),則不需要加入這一行。
快速參考