閱讀81 返回首頁    go 阿裏雲 go 技術社區[雲棲]


對C++ STL iostram 中 cin.get(char* cs,int size,char c='/n') 的理解

cs char buf, sizebuf,

c(default=='/n')

 

void main()
{

 const int size = 16;

 char cs[size];

 while(cin.get(cs,size))
 {
  int i=cin.gcount();
  cout<<i<<": "<<cs<<endl;

  cin.ignore();
 }

cin.get():

0     cin.get()試圖從OS(在用戶敲鍵盤時觸發對應

      ascii碼值,放

      OS)中取字符,如果緩衝為空則等待

;

1     cin.get();

2     cin.get()對輸入緩衝中字符:

a 當輸入緩衝中第一個字符為終止字符或到達文件末尾時

cin.get()false;

b ,cin.get()move(copy)

cs,3 :到達文件末尾、已

movesize-1、輸入緩衝的字符是終止字符。

,cin.get()’/0’cs末尾。如果這時輸入緩衝

(3種情況裏終止

);

       c cin.get()true.

3 while block cin.ignore()將輸入

       ---()

4 while 再次調用 get.line() 從而回到步驟 0 。這時如果沒有

    上麵的cin.ignore(),由於輸入緩衝裏第一個字符就是終止字符,

所以就會退出while

 

最後更新:2017-04-02 00:06:22

  上一篇:go 讀取硬件信息的參考代碼
  下一篇:go 獲得CPU溫度的函數