INFO: rewind(stdin) Clears Keyboard Buffer

Sanggahan Konten KB yang Dihentikan

Artikel ini ditulis untuk produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disediakan "sebagaimana adanya" dan tidak akan diperbarui lagi.

Summary


To clear the keyboard buffer in Microsoft C use the function rewind() with the stream STDIN, which is associated with the keyboard by default. The function fflush() clears the buffers that C programs use for stream level I/O. It does not clear the device buffer. The following is an example that shows what happens when the keyboard buffer is not cleared, and then how to clear it:

Sample Code

/* Compile options needed: none
*/

#include <stdio.h>

void main(void)
{
int ch ;

puts( "Input two or more chars. One is read now." );
ch = getchar();
putchar( ch );
putchar( '\n' );

puts( "The next char is taken from stdin." );
ch = getchar( );
putchar( ch );
putchar( '\n' );

rewind( stdin );
puts( "Input two or more chars. One is read now." );
ch = getchar();
putchar( ch );
putchar( '\n' );

rewind( stdin );
puts( "You must enter another char because of the rewind(stdin)" );
ch = getchar( );
putchar( ch );
putchar( '\n' );
}
Properti

ID Artikel: 41159 - Tinjauan Terakhir: 17 Jun 2014 - Revisi: 1

Tanggapan