当我编写程序时,使用 -
cout << "A:";
cin >> string_var;
cout << "B";
cin >> string_var2;
如果键盘上的两个输入之间有空格(例如, 如果控制台显示:
A:_(等待输入)并输入a a
,第一个a
将转到string_var
,第二个转到string_var2
。如何刷新输入流?
答案 0 :(得分:3)
而不是cin >> string_var
,请使用cin.getline(string_var, 256, '\n')
。您当前的读取输入方法仅读取到第一个空格。使用getline方法将读取\ n字符,即用户点击进入时的字符。
答案 1 :(得分:2)
您可以像这样使用cin.get()
:
cout << "A: ";
cin >> string_var;
// clear remaining stream input
while(cin.get() != '\n');
cout << "B: ";
cin >> string_var2;