iostream輸入輸出流 cin cout

2021-10-06 06:04:43 字數 2421 閱讀 9744

cinistream類的物件,即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...