cin建有乙個緩衝區,即輸入緩衝區。一次輸入過程是這樣的,當一次鍵盤輸入結束時會將輸入的資料存入輸入緩衝區,而cin函式直接從輸入緩衝區中取資料。正因為cin函式是直接從緩衝區取資料的,所以有時候當緩衝區中有殘留資料時,cin函式會直接取得這些殘留資料而不會請求鍵盤輸入,這就是為什麼有時會出現輸入語句失效的原因。
用法1.接受乙個字串的輸入,遇到「空格」"tab""回車「結束。
#include
using namespace std;
void main ()
{char a[10];
cin>>a;
cout《輸入:aaabbbccc
輸出:aaabbbccc
輸入:aaa bbb ccc
輸出:aaa
2.輸入乙個數字。
#include
using namespace std;
void main ()
{int a,b;
cin>>a>>b;
cout《輸入:1回車2回車
輸出:3
用法1.cin.get()
用於讀取乙個字元,結束條件是回車,不過不會丟棄緩衝區的回車(enter)和空格,cin.get()和cin.get(char ch)功能基本一樣的,char = cin.get()和cin.get(char ch)共能一樣。
#include
using namespace std;
int main()
{char c,ch;
c = cin.get();
cin.get(ch);
cout《輸入:a回車(輸入乙個字元然後接著回車)
輸出:a
(此處有一行)
輸入:abcd回車
輸出:a
b
用法2.cin.get(char ch)用法同用法1
用法3.cin.get(array,length) 接受乙個字串的輸入,接受輸入的length-1個字元,最後乙個存入的是『\0』。
#include
using namespace std;
int main()
{char ch[10];
cin.get(ch,5);
cout《輸入:abcdefg回車
輸出:abcd
用法1.cin.getline()
#include
using namespace std;
int main()
{char ch[10];
cin.getline(ch,5);
cout《輸入:aaaaaaaa
輸出:aaaa
用法1.getline(cin,sting s)
#include
#include
using namespace std;
int main()
{string s;
getline(cin,s);
cout《輸入:abcdefg回車
輸出:abcdefg
用法1:接收乙個字串的輸入。
#include
#include
using namespace std;
int main()
{char ch[10];
gets(ch);
cout《輸入:abcdefg回車
輸出:abcdefg
用法1:接受乙個字元的輸入
#include
#include
using namespace std;
int main()
{char ch;
ch = getchar();
cout《輸入:abc回車
輸出:a
標籤: c++
C 之 cin 與 !cin 的原理分析
在判斷檔案開啟成功與否或是連續從流中讀取資料時,就要用到對流對像的操作,比如if cin 或是 whie cin 等等。while cin val 我們都知道 cin 是乙個流物件,而 運算子返回左邊的流物件,也就是說 cin val 返回 cin,於是 while cin val 就變成了 whi...
C 中cin的使用
首先對於cin,常見的輸入流 1.在遇到空格和回車時將輸入的數字傳給引數,當輸入的數字個數超過引數個數時 將超過的存入輸入緩衝流中,當有後來的引數需要輸入資料時,再傳遞給它。2.向變數傳值時,不需要帶符號 也不要指明型別,這樣就無法檢查變數輸入的正確性。如下在迴圈內部輸入不合法的變數值,那麼將陷入死...
C 關於cin的使用
注 以下為個人見解,有可能錯誤,歡迎批評指出!cin的常用形式 1.cin 2.cin.get 3.cin.getline 基礎 當呼叫cin函式時,會自動從鍵盤緩衝區的讀取資料 如果沒有就請求使用者輸入 在讀取的過程中,若先遇到space enter tab這些會自動忽略掉。cin的輸入是不是逐個...