C++中cin的使用總結


  在學習C++時大家肯定迷惑過關於輸入輸出各種輸出函數的功能,現在來總結一下各種函數的簡單用法。

  cin建有一個緩沖區,即輸入緩沖區。一次輸入過程是這樣的,當一次鍵盤輸入結束時會將輸入的數據存入輸入緩沖區,而cin函數直接從輸入緩沖區中取數據。正因為cin函數是直接從緩沖區取數據的,所以有時候當緩沖區中有殘留數據時,cin函數會直接取得這些殘留數據而不會請求鍵盤輸入,這就是為什么有時會出現輸入語句失效的原因。

  1.cin>>函數的用法:這是我們最經常用,學習C++最初接觸的輸入流。

  用法1.接受一個字符串的輸入,遇到“空格”"TAB""回車“結束。

  #include <iostream>
  using namespace std;
  void main ()
  {
    char a[10];
    cin>>a;
    cout<<a<<endl;
  }

  輸入:aaabbbccc

  輸出:aaabbbccc

 

  輸入:aaa bbb ccc

  輸出:aaa

  2.輸入一個數字。

  #include <iostream>
  using namespace std;
  void main ()
  {
    int a,b;
    cin>>a>>b;
    cout<<a+b<<endl;

  }

  輸入:1回車2回車

  輸出:3

  2.cin.get()的用法,這函數有三種形式,cin.get(),cin.get(char ch),cin.get(array,length)。

  用法1.cin.get()

  用於讀取一個字符,結束條件是回車,不過不會丟棄緩沖區的回車(enter)和空格,cin.get()和cin.get(char ch)功能基本一樣的,char = cin.get()和cin.get(char ch)共能一樣。 

  #include<iostream>
  using namespace std;
  int main()
  {
    char c,ch;
    c = cin.get();
    cin.get(ch);
    cout<<c<<endl;
    cout<<ch<<endl;
    return 0;
  }

  輸入:a回車(輸入一個字符然后接着回車)

  輸出:a

    (此處有一行)

  輸入:abcd回車

  輸出:a

       b    

 

  用法2.cin.get(char ch)用法同用法1

  用法3.cin.get(array,length) 接受一個字符串的輸入,接受輸入的length-1個字符,最后一個存入的是‘\0’。

  #include<iostream>
  using namespace std;
  int main()
  {
    char ch[10];
    cin.get(ch,5);
    cout<<ch<<endl;
    return 0;
  }

  輸入:abcdefg回車

  輸出:abcd

  3.cin.getline()的用法,接受一個字符串的輸入包括空格,遇到回車停止。

  用法1.cin.getline()  

  #include<iostream>
  using namespace std;
  int main()
  {
    char ch[10];
    cin.getline(ch,5);
    cout<<ch<<endl;
    return 0;
  }

  輸入:aaaaaaaa

  輸出:aaaa

  4.getline()函數,接受一個字符串的輸入包含空格,遇到回車停止要包含#incldue<string>。

  用法1.getline(cin,sting s)  

  #include<iostream>
  #include<string>
  using namespace std;
  int main()
  {
    string s;
    getline(cin,s);
    cout<<s<<endl;
    return 0;
  }

  輸入:abcdefg回車

  輸出:abcdefg

  5.gets()函數,接受一個字符串的輸入包含空格,遇到回車停止,要包含#incldue<string>。

  用法1:接收一個字符串的輸入。  

  #include<iostream>
  #include<string>
  using namespace std;
  int main()
  {
    char ch[10];
    gets(ch);
    cout<<ch<<endl;
    return 0;
  }

  輸入:abcdefg回車

  輸出:abcdefg

  6.getchar()接受一個字符輸入,包含空格,遇到回車停止,要包含#incldue<string>。

  用法1:接受一個字符的輸入 

  #include<iostream>
  #include<string>
  using namespace std;
  int main()
  {
    char ch;
    ch = getchar();
    cout<<ch<<endl;
    return 0;
  }

  輸入:abc回車

  輸出:a

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM