我一直在尝试使用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保持不变。我不明白这里发生了什么。
答案 0 :(得分: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