cin
是istream
類的物件,即c++的標準輸入流物件。主要用於從鍵盤等輸入裝置上讀取資料。其常用的讀取資料流的方法有:cin>>、cin.get()、cin.getline()
1、cin>> 方式
(1)、該方式每次讀取資料流時,一旦遇到空格、換行符,則其後的內容都被捨棄無法讀取。只能讀取這些分隔符之前的內容。且首字元之前的空格也被忽略,通過該方法讀取的字元中沒有空格
(2)、該方式可以連續的讀取多個資料流,每輸入乙個資料時按下enter鍵,即可讀取
#include
#include
using
namespace std;
intmain()
2、cin.get() 方式
該函式有常見的四種過載形式:無引數、乙個引數、兩個引數、三個引數。函式原型如下
// 常用於讀取任意值,其返回值為整型
int cin.
get();
// 從流中讀取乙個字元
istream& cin.
get(
char
& var)
;// 從字元流中讀取前n個字元並儲存到字元陣列s中
istream& get (
char
* s, streamsize n )
;// delim為分割字元
istream& get (
char
* s, streamsize n,
char delim )。
3、cin.getline() 方式
可以一次讀取一行內容,其中可以包含空格,同時可以以指定的字元來結束。預設情況下以換行符\n
來作為結束輸入的標誌。
3.1 可以按指定的結束符來讀取任意字元:
該方法預設每次讀取一行,以換行符來結束,可以讀取空格(包含字串頭尾的空格都可以讀取),它將空格作為乙個正常的字元。
string str;
//將cin流中的資料讀入到str中,預設以換行符結束
3.2 將字元讀入到字元陣列中的形式:
// 將字元流中的前n個字元讀取、儲存到字元陣列s中。n要小於等於字元陣列的大小
istream& getline (
char
* s, streamsize n )
;// 將字元陣列的前n個字元讀取、儲存到字元陣列s中,且要以delim作為分隔符。
istream& getline (
char
* s, streamsize n,
char delim )
;
(1)、兩個引數的形式
#include
#include
using
namespace std;
intmain()
結果如下圖所示:輸入11個字元,最終只能讀取9個字元到arr中,因為arr陣列的大小只有10,且字元陣列的最後乙個字元為空,是字串結束的標誌。
(2)、三個引數的形式
#include
#include
using
namespace std;
intmain()
如下圖,字元陣列arr大小為20,讀取字元流的大小為10個字元,但是結束符自行設定為=
,所以當讀取到第7個字元時遇到了結束符就停止讀取字元流,儘管此時讀取的字元小於陣列的容量。
用於將流輸出,如:
cout<
iostream輸入輸出流互相繫結問題
先看如下 int main int argc,char const argv 當輸入a空格符b空格符c空格符d空格符e 輸出的是 ab cd當依次輸入a b c d e的時候,結果仍然是 ab cd原因如下 out iter in iter 這句的問題。你要知道每次的讀取動作發生在什麼時候。第一次 ...
C 中的iostream輸入輸出
include include 是個包含命令,就是把iostream這個檔案裡的內容複製到這個地方。iostream是input output stream的簡寫,意思為標準的輸入輸出流標頭檔案。它包含 1 cin 要輸入的內容 2 cout 要輸出的內容 這兩個輸入輸出的方法需要 include來...
輸入輸出流
c 通過以下幾個類支援檔案的輸入和輸出 ofstream寫操作的檔案類由ostream引申而來 ifstream讀操作的檔案類由istream引申而來 fstream可同時讀寫操作的檔案類由iostream引申而來 ifstream in tian.txt 開啟乙個檔案 ifstream in in...