_flushall_flushall

Vide tous les flux ; efface toutes les mémoires tampons.Flushes all streams; clears all buffers.

SyntaxeSyntax

int _flushall( void );

Valeur de retourReturn Value

_flushall retourne le nombre de flux ouverts (entrée et sortie)._flushall returns the number of open streams (input and output). Aucun retour d'erreur.There is no error return.

NotesRemarks

Par défaut, la fonction _flushall écrit dans les fichiers appropriés le contenu de toutes les mémoires tampons associées aux flux de sortie ouverts.By default, the _flushall function writes to appropriate files the contents of all buffers associated with open output streams. Le contenu de toutes les mémoires tampons associées aux flux d’entrée ouverts est effacé.All buffers associated with open input streams are cleared of their current contents. (Ces mémoires tampons sont normalement gérées par le système d’exploitation, qui détermine à quel moment les données doivent être automatiquement écrites sur le disque : quand une mémoire tampon est saturée, quand un flux est fermé ou quand un programme se termine normalement sans fermer les flux.)(These buffers are normally maintained by the operating system, which determines the optimal time to write the data automatically to disk: when a buffer is full, when a stream is closed, or when a program terminates normally without closing streams.)

Si une lecture suit un appel à _flushall, les nouvelles données sont lues à partir des fichiers d’entrée dans les mémoires tampons.If a read follows a call to _flushall, new data is read from the input files into the buffers. Tous les flux restent ouverts après l’appel à _flushall.All streams remain open after the call to _flushall.

La fonctionnalité de validation sur disque de la bibliothèque runtime garantit que les données critiques sont écrites directement sur le disque plutôt que dans les mémoires tampons du système d’exploitation.The commit-to-disk feature of the run-time library lets you ensure that critical data is written directly to disk rather than to the operating system buffers. Sans réécrire un programme existant, vous pouvez activer cette fonctionnalité en liant les fichiers objets du programme avec Commode.obj. Dans le fichier exécutable résultant, les appels à _flushall écrivent le contenu de toutes les mémoires tampons sur le disque.Without rewriting an existing program, you can enable this feature by linking the program's object files with Commode.obj. In the resulting executable file, calls to _flushall write the contents of all buffers to disk. Seuls _flushall et fflush sont affectés par le mode. obj de commode.Only _flushall and fflush are affected by Commode.obj.

Pour plus d’informations sur le contrôle de la fonctionnalité de validation sur disque, consultez E/S de flux, fopen et _fdopen.For information about controlling the commit-to-disk feature, see Stream I/O, fopen, and _fdopen.

Configuration requiseRequirements

FonctionFunction En-tête requisRequired header
_flushall_flushall <stdio.h><stdio.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité.For more compatibility information, see Compatibility.

ExempleExample

// 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

Voir aussiSee also

E/S de fluxStream I/O
_commit_commit
fclose, _fcloseallfclose, _fcloseall
fflushfflush
setvbufsetvbuf