0

可能重复:
c++ cin 输入不起作用?

我一直在尝试使用 C++ 中的以下代码在整数之后输入一个字符串。

#include<iostream>
#include<cstdio>
using namespace std;
int main(){
     int n;
     char inp[10];
     cin>>n;
     //fflush(stdin);
     cin.getline(inp,10);
     cout<<inp;
     return 0;
}

当我编译和运行上面的代码时,程序只提示输入一次并且什么也不打印。我正在使用 g++ 来编译代码。另外,当我取消注释该行时

fflush(stdin) 

(清除输入缓冲区),程序的o/p保持不变。我不明白这里发生了什么。

4

1 回答 1

2
#include<iostream>
#include<cstdio>
using namespace std;

int main()
{

 int n;
 char inp[10];
 cin>>n;
 cin.get();//cin.get(); just waits for enter. more approprate for this would be cin.ignore(); because it will flush the input stream for cin.
 cin.getline(inp,10);
 cout<<inp;
 // cin.get(); you could use this so your program wont return0 and close right away.
return 0;
}//tested in this config it works as desired, good luck
于 2013-01-27T22:42:12.740 回答