INFO: rewind(stdin) borra el búfer de teclado

Declinación de responsabilidades del contenido retirado de KB

Este artículo trataba sobre los productos para los cuales Microsoft ya no ofrece soporte técnico. Por lo tanto, este artículo se ofrece "tal cual" y ya no se actualizará más.

Resumen


Para borrar el búfer de teclado en Microsoft C utilice la rewind() de función con la secuencia STDIN, que está asociado con el teclado de forma predeterminada. La función fflush() borra los búferes que utilizan los programas de C para el nivel de flujo de E/S. No borra el búfer del dispositivo. El siguiente es un ejemplo que muestra qué sucede cuando no se borra el búfer del teclado, y, a continuación, cómo desactivarla:

Código de ejemplo

/* 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' );
}
Propiedades

Id. de artículo: 41159 - Última revisión: 17/01/2017 - Revisión: 1

Comentarios