¿Qué hace FFLUSH en la programación C?

¿Qué hace FFLUSH en la programación C?
En la programación C, el FFLUSH (Stdin) La función se utiliza para borrar la memoria de búfer de entrada de cualquier dato que aún se pueda almacenar. Lo hace liberando cualquier memoria asociada con la secuencia de entrada estándar, conocida como STDIN, que es la entrada predeterminada utilizada para leer cualquier datos de los argumentos de la línea de comandos o un teclado. Esto significa que los datos restantes que no se han procesado se descartan y se pueden utilizar datos de la última operación de entrada exitosa.

Según el estándar C, usando FFLUSH (Stdin) es un patrón de comportamiento poco claro. Sin embargo, ciertos compiladores, como Microsoft Visual Studio, permiten esto. Incluso al aceptar un número entero con espacios y discutir la entrada anterior para el mismo, un búfer no se limpia en la siguiente entrada. Este problema se resuelve enjuagando la misma transmisión y amortiguador con FFLUSH (Stdin).

Veamos un ejemplo:

#incluir
#incluir
int main ()

char s [20];
int i;
para (i = 0; i<3; i++)

printf ("Ingrese una cadena \ n");
scanf ("%[^\ n] s", s);
printf ("%s \ n", s);
fflush (stdin);

regresar 0;

El código anterior toma una sola entrada y da el mismo resultado. El búfer se limpia luego usando el FFLUSH (Stdin) función, y luego la siguiente entrada se ingresa e imprime, etc.

Producción

¿Qué hace FFLUSH (Stdin) en la programación C?

El FFLUSH (Stdin) La función se usa con operaciones de entrada para garantizar que los datos se procesen correctamente, y no se deja nada en el búfer de entrada. En la programación C, cada operación de entrada dejará algunos datos atrás en el búfer de entrada. Estos datos se dejan allí hasta que el programa elija procesarlo, pero esto puede causar problemas inesperados. Por ejemplo, si un programa espera un número como entrada, pero el usuario accidentalmente escribe una letra, los datos que quedan en el búfer aún se procesarán como la siguiente entrada. Esto podría hacer que el programa se bloquee o los datos se analicen incorrectamente.

Utilizando el FFLUSH (Stdin) la función puede ayudar a evitar que esto suceda. La función borra el búfer manualmente y, por lo tanto, cualquier datos restantes se elimina de ella. Sin esta función, la computadora aún procesaría los datos sobrantes como la siguiente entrada, pero ahora se puede obtener cualquier error, y se puede hacer el programa para volver a promocionar al usuario para la entrada correcta.

Además de usarlo para borrar los buffers de entrada, el FFLUSH (Stdin) La función también se puede usar para enjuague las transmisiones de salida. Esto es útil para programas que requieren una salida en tiempo real o muestran el progreso de un programa. Al eliminar la transmisión de salida, la salida más reciente se puede mostrar inmediatamente. De lo contrario, el programa debería esperar hasta que toda la transmisión esté llena antes de que se pueda mostrar.

Conclusión

El FFLUSH (Stdin) La función es una parte esencial de la programación C. Al eliminar los datos restantes de los búferes de entrada, ayuda a evitar que las entradas inesperadas desechen el programa y causen errores. Además, se puede usar para enjuague las transmisiones de salida que pueden ser útiles para mostrar información en tiempo real. Si bien no se usa con frecuencia, el FFLUSH (Stdin) La función es una parte importante del kit de herramientas de cualquier programador.