在C ++程序运行期间从终端获取输入

时间:2017-07-02 17:35:53

标签: linux terminal gnome-terminal

在Ubuntu的GNOME终端和XTerm中,我遇到了这个问题: 我被迫为所有domain语句输入值,无论它们出现在源代码中的哪个位置,并且只在最后执行所有cin语句。例如:

cout

当我运行此代码(使用g ++)时,我不得不在运行第一个int main() { int a; cout<<"Enter a :"; cin>>a; cout<<"\n"; return 0; } 语句之前输入a 的值。

cout

image

'5'是我在任何 kanishk509@kanishk509-hp:~/Hackerearth$ g++ -Wall -o sample sample.cpp kanishk509@kanishk509-hp:~/Hackerearth$ ./sample 5 Enter a : 语句运行之前被强制提供给语句cin>>a的输入。

1 个答案:

答案 0 :(得分:0)

使用std::flush解决了问题。

int main()
{
    int a;
    cout<<"Enter a :"<<flush;
    cin>>a;
    cout<<"\n";
    return 0;
}



kanishk509@kanishk509-hp:~/Hackerearth$ g++ -Wall -o sample sample.cpp
kanishk509@kanishk509-hp:~/Hackerearth$ ./sample
Enter a :5