私が研究している関数で見つかったコードの一部に混乱しています。
char GetCommand( void )
{
char command;
do {
printf( "Enter command (q=quit, n=new, l=list): " );
scanf( "%c", &command );
Flush();
}
while ( (command != 'q') && (command != 'n')
&& (command != 'l') );
printf( "\n----------\n" );
return( command );
}
void Flush( void ) {
while ( getchar() != '\n' )
;
}
ここでよくわからないのは、Flush()
関数の使用法です。つまり、私が読んでいる本では、ユーザーが複数の文字を入力するのを防ぎ、2 回目に入力を求められたときにその文字を読み取らせると説明しています。
私が理解していないのはFlush()
、これがどのように防止されているかです。それは何もしません。それはすべてwhile
コマンドです。(これは本当ですが...何?????) 意味がありません。