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

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

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 ene. 2017 - Revisión: 1

Comentarios