C言語で入力バッファをクリアする方法
C 言語では、入力バッファをクリアする方法として以下の 2 つがあります。
- fflush 関数を利用する
fflush(stdin);
標準入力をクリアします。
- getchar関数を用いる:
int c;
while ((c = getchar()) != '\n' && c != EOF);
この行では、入力中のバッファにある文字が全て読み取られるまで、行区切りまたはファイル終了マークを検出するまで読み取られ、入力が空になるまで処理します。
注意:2番目の方法は、バッファを読み取る前に呼び出す必要があります。 そうしないと、バッファ全体を消去できない可能性があります。