_flushall

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Vide le contenu de tous les flux de données ; Efface toutes les mémoires tampons.

int _flushall( void );  

_flushallRetourne le nombre de flux ouverts (entrée et sortie). Aucun retour d'erreur.

Par défaut, le _flushall fonction écrit dans le contenu de toutes les mémoires tampons associés au flux de sortie de fichiers approprié. Toutes les mémoires tampons associés à un flux d’entrée ouverts sont effacés de leur contenu. (Ces mémoires tampons sont normalement gérées par le système d’exploitation, qui détermine le délai optimal pour écrire les données automatiquement sur le disque : lorsque une mémoire tampon est saturée, lorsqu’un flux est fermé ou lorsqu’un programme se termine normalement sans avoir à fermer le flux de données.)

Si une lecture suit un appel à _flushall, nouvelles données sont lues à partir des fichiers d’entrée dans les mémoires tampons. Tous les flux de données reste ouverte après l’appel à _flushall.

La fonctionnalité de validation sur disque de la bibliothèque d’exécution vous permet de vous assurer que les données critiques sont écrites directement sur le disque plutôt que dans les tampons du système d’exploitation. Sans le réécrire un programme existant, vous pouvez activer cette fonctionnalité en liant les fichiers d’objets du programme avec Commode.obj. Dans le fichier exécutable résultant, les appels à _flushall écrire le contenu de toutes les mémoires tampons sur le disque. Seuls _flushall et fflush sont affectées par Commode.obj.

Pour plus d’informations sur le contrôle de la fonctionnalité de validation sur disque, voir e/s de flux, fopen, et _fdopen.

FonctionEn-tête requis
_flushall<stdio.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility dans l’introduction.

// crt_flushall.c  
// This program uses _flushall  
// to flush all open buffers.  
  
#include <stdio.h>  
  
int main( void )  
{  
   int numflushed;  
  
   numflushed = _flushall();  
   printf( "There were %d streams flushed\n", numflushed );  
}  

There were 3 streams flushed  

Flux d’e/s
_commit
fclose, _fcloseall
fflush
setvbuf

Afficher: