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 に答える