Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

fflush

Vacía una secuencia.

int fflush( 
   FILE *stream 
);

stream

Puntero a la estructura FILE.

fflush devuelve 0 si el búfer se vaciado correctamente. El valor 0 también se devuelve en casos en los que la secuencia especificada no tiene ningún búfer o está abierto para lectura únicamente. Un valor devuelto de EOF indica un error.

Nota Nota

Si fflush devuelve EOF, los datos podrían haber perdido debido a un error de escritura. Al configurar un controlador de error crítico, resulta más seguro activar el almacenamiento en búfer desactivado con la función de setvbuf o utilizar las rutinas de E/S de bajo nivel como _open, _close, y _write en lugar de E/S de secuencia funciona.

La función de fflush vacía una secuencia. Si el archivo asociado a stream está abierto para la salida, fflush escribe en ese archivo el contenido del búfer asociado a la secuencia. Si la secuencia está abierto para la entrada, fflush borra el contenido del búfer. fflush anula el efecto de cualquier llamada anterior a ungetc con stream. Además, fflush(NULL) vacía todas las secuencias abierto para la salida. La secuencia permanece abierto después de la llamada. fflush no tiene ningún efecto en una secuencia inseparada.

Los búferes son mantenidas normalmente por el sistema operativo, que determina el tiempo óptima de escribir los datos automáticamente en disco: cuando el búfer está lleno, cuando se cierra una secuencia, o cuando un programa finaliza normalmente sin cerrar la secuencia. La característica de confirmación-a- disco de la biblioteca en tiempo de ejecución permite asegurarse que los datos crítico se escribe directamente en el disco y no a los búferes del sistema operativo. Sin volver a escribir un programa existente, puede habilitar esta característica vincular los archivos objeto program con COMMODE.OBJ. En el archivo ejecutable resultante, las llamadas a _flushall escriben el contenido de todos los búferes en el disco. Sólo _flushall y fflush afectados por COMMODE.OBJ.

Para obtener información sobre cómo controlar la característica de confirmación en disco, vea E/S de flujos, fopen y _fdopen.

Esta función bloquea el subproceso de la llamada y por consiguiente seguro para subprocesos. Para consultar una versión que no realiza el bloqueo, vea _fflush_nolock.

Función

Encabezado necesario

fflush

<stdio.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

// crt_fflush.c
#include <stdio.h>
#include <conio.h>

int main( void )
{
   int integer;
   char string[81];

   // Read each word as a string.
   printf( "Enter a sentence of four words with scanf: " );
   for( integer = 0; integer < 4; integer++ )
   {
      scanf_s( "%s", string, sizeof(string) );      
      printf( "%s\n", string );
   }

   // You must flush the input buffer before using gets. 
   // fflush on input stream is an extension to the C standard 
   fflush( stdin );   
   printf( "Enter the same sentence with gets: " );
   gets_s( string, sizeof(string) );
   printf( "%s\n", string );
}
    Esto es una prueba
Este es el testThis
  
     es una prueba
Esto es un testEnter
a la frase de cuatro palabras con scanf: Esto es una prueba
Este objeto .
es
a
prueba
Escriba la misma frase con obtiene: Esto es una prueba
Esto es una prueba

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft