缓冲区 cin() getline() getchar()
生活随笔
收集整理的這篇文章主要介紹了
缓冲区 cin() getline() getchar()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
程序的輸入都建有一個緩沖區,即輸入緩沖區。一次輸入過程是這樣的,當一次鍵盤輸入結束時會將輸入的數據存入輸入緩沖區,而cin函數直接從輸入緩沖區中取數據。正因為cin函數是直接從緩沖區取數據的,所以有時候當緩沖區中有殘留數據時,cin函數會直接取得這些殘留數據而不會請求鍵盤輸入
一. cin>>
該操作符是根據后面變量的類型讀取數據。
輸入結束條件 :遇到Enter、Space、Tab鍵。
對結束符的處理 :將\n類似的結束符落在緩沖區里.
所以會有如下的程序和結果:
只輸入了一行abc, 然后回車后就輸出一行abc, 一行空
這是因為cin在緩沖區里丟下的\n 給后面的getline()當成輸入結束的標志了
二.getline(cin, str)
輸入結束條件:Enter鍵
對結束符處理:將\n結束符從緩沖區里清除.
所以會有如下的程序
如果在輸入完abc后, 按兩次回車, 就會有如下結果
三.getchar()
清除緩沖區里的\n , 建議用getchar(), 這種方式最方便.
四. 例子
先輸入一個整數到變量n里 ,然后讀入n行字符串, 注意用getchar()消除\n
來自為知筆記(Wiz)
轉載于:https://www.cnblogs.com/gremount/p/5788691.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的缓冲区 cin() getline() getchar()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.A+B Problem
- 下一篇: CSS常用样式及示例