私は現在getc()
、ユーザーからの入力を受け取るためにループで使用しています:
char x;
while (x != 'q')
{
printf("(c)ontinue or (q)uit?");
x = getc(stdin);
}
ユーザーc
がループの実行に入ると、おそらく最初の入力として追加の文字 (ターミネーターまたはおそらく改行だと思いますか?) を取得します。
次のようなものを使用してこれを防ぐことができます。
char toss;
char x;
while (x != 'q')
{
printf("(c)ontinue or (q)uit?");
x = getc(stdin);
toss = getc(stdin);
}
しかし、これは怠惰な初心者の扱い方だと思います。これを行うためのよりクリーンな方法はありますか、getc
それとも文字列として使用し、配列の最初の文字を使用する必要がありますか? 私が考えたことのない別のよりクリーンな方法はありますか?