【发布时间】:2014-03-10 02:16:48
【问题描述】:
这似乎是一个老问题,但这里的问题不是使用两个 cin.get(),而是两个以上!如果我写(在 DEV C++ 中)
我只收到一个输入请求,然后结束程序。现在,我预计至少有两个 cin 请求,因为我预计:
char s[50];
char t[100];
char r[100];
char f[100];
cin.get(s,49);
cin.get(t,99);
cin.get(r,99);
cin.get(f,99);
我加快了至少 2 个输入请求,因为:
first cin: buffer empty,I insert the string s and \n
second cin: I have in buffer \n still, then t=\n without input request
third cin: buffer empty, I insert the string r and \n
fourth cin: I have in buffer \n still, then f=\n without input request
但我只有 s 字符串的输入请求! 为什么我只有一个输入请求?缓冲区没有用第二个 cin.get 清理,让第三个 cin.get 正常工作?谢谢
【问题讨论】:
标签: c++ string input iostream cin