對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