1. 程式人生 > >C++輸入方法:cin、cin.get()、gets()區別

C++輸入方法:cin、cin.get()、gets()區別

    程式的輸入都有一個輸入緩衝區。當一次鍵盤輸入結束時會將輸入的資料存入輸入緩衝區,而cin函式直接從輸入緩衝區中取資料。因為cin函式是直接從緩衝區取資料的,所以當緩衝區中有殘留資料時,cin函式會直接取得這些殘留資料而不會請求鍵盤輸入。

輸入方法簡介:

1、cin>>

根據cin>>a 中a的變數型別讀取資料,遇到結束符(Space、Tab、Enter)就結束,且對於結束符,並不儲存到a中。

2、cin.get()

    cin.get()該函式有三種格式:無參,一引數,二引數即cin.get(),cin.get(char ch),cin.get(array_name, Arsize) 在讀取字元的情況下:輸入結束條件為Enter鍵,對結束符的處理為不丟棄緩衝區中的Enter,cin.get() 與 cin.get(char ch)用於讀取字元,他們的使用是相似的,即:ch=cin.get() 與 cin.get(ch)是等價的。

3、gets()

    gets()方法接受一個字串,它的引數為char*,而不是string,另外若定義char ch[n],長度為n,需要注意輸入的字串長度不要大於n,否則會報錯,gets()對空格也不敏感,注意,gets()在vs2017中不能使用,應使用gets_s()代替。