E/S de flux
Réduire la table des matières
Développer la table des matières
Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

E/S de flux

 

Ces fonctions permettent de traiter des données de tailles et de formats différents, des caractères uniques jusqu'aux structures de données volumineuses. Elles assurent aussi une mise en mémoire tampon, ce qui peut améliorer les performances. La taille par défaut d'une mémoire tampon de flux est de 4 Ko. Ces routines concernent uniquement les mémoires tampons créées par les routines de bibliothèque Runtime et n'ont aucun effet sur les mémoires tampons créées par le système d'exploitation.

Routines d'E/S de flux

Routine

utilisez

Équivalent .NET Framework

clearerr, clearerr_s

Effacer un indicateur d'erreur de flux

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

fclose

Fermer un flux

System::IO::Stream::Close, System::IO::BinaryReader::Close, System::IO::BinaryWriter::Close, System::IO::TextReader::Close, System::IO::TextWriter::Close, System::IO::StringReader::Close, System::IO::StringWriter::Close, System::IO::StreamReader::Close, System::IO::StreamWriter::Close

_fcloseall

Fermer tous les flux ouverts sauf stdin, stdout et stderr

System::IO::Stream::Close, System::IO::BinaryReader::Close, System::IO::BinaryWriter::Close, System::IO::TextReader::Close, System::IO::TextWriter::Close, System::IO::StringReader::Close, System::IO::StringWriter::Close, System::IO::StreamReader::Close, System::IO::StreamWriter::Close

_fdopen, wfdopen 

Associer un flux au descripteur de fichier d'un fichier ouvert

FileStream

feof

Tester la fin de fichier sur un flux

System::IO::FileStream::Read

ferror

Tester la présence d'erreur sur un flux

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

fflush

Vider un flux dans une mémoire tampon ou un dispositif de stockage

System::IO::FileStream::Flush

fgetc, fgetwc

Lire un caractère dans le flux (versions fonction de getc et getwc)

System::IO::StreamReader::Read

_fgetchar, _fgetwchar

Lire un caractère de stdin (versions fonction de getchar et getwchar)

System::Console::Read

fgetpos

Obtenir l'indicateur de position du flux

System::IO::FileStream::Position

fgets, fgetws

Lire une chaîne du flux

System::IO::StreamReader::ReadLine, System::IO::TextReader::ReadBlock

_fileno

Obtenir le descripteur de fichier associé au flux

System::IO::FileStream::Handle

_flushall

Vider tous les flux dans une mémoire tampon ou un dispositif de stockage

System::IO::FileStream::Flush, System::IO::StreamWriter::Flush, System::IO::TextWriter::Flush, System::IO::BinaryWriter::Flush

fopen, _wfopen, fopen_s, _wfopen_s

Ouvrir un flux

System::IO::File::Open

fprintf, _fprintf_l, fwprintf, _fwprintf_l, fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

Écrire des données mises en forme dans le flux

System::IO::StreamWriter::Write

fputc, fputwc

Écrire un caractère dans un flux (versions fonction de putc et putwc)

System::IO::StreamWriter::Write

_fputchar, _fputwchar

Écrire un caractère dans stdout (versions fonction de putchar et putwchar)

System::Console::Write

fputs, fputws

Écrire une chaîne dans le flux

System::IO::StreamWriter::Write

fread

Lire des données non mises en forme dans le flux

System::IO::FileStream::Read

freopen, _wfreopen, freopen_s, _wfreopen_s

Réaffecter le pointeur de flux FILE à un nouveau fichier ou périphérique

System::IO::File::Open

fscanf, fwscanf, fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l

Lire les données mises en forme du flux

System::IO::StreamReader::ReadLine ; consultez également les méthodes Parse, telles que System::Double::Parse.

fseek, _fseeki64

Déplacer la position d'un fichier vers un emplacement donné

System::IO::FileStream::Position, System::IO::FileStream::Seek

fsetpos

Définir l'indicateur de position du flux

System::IO::FileStream::Position

_fsopen, _wfsopen

Ouvrir le flux avec le partage de fichiers

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

ftell, _ftelli64

Obtenir la position actuelle d'un fichier

System::IO::FileStream::Position

fwrite

Écrire des éléments de données non mis en forme dans le flux

System::IO::FileStream::Write

getc, getwc

Lire un caractère dans le flux (versions macro de fgetc et fgetwc)

System::IO::StreamReader::Read

getchar, getwchar

Lire un caractère dans stdin (versions macro de fgetchar et fgetwchar)

System::Console::Read

_getmaxstdio

Retourner le nombre autorisé de fichiers ouverts simultanément au niveau de l'E/S du flux

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

gets_s, _getws_s

Lire une ligne de stdin

System::Console::Read

_getw

Lire un int binaire dans le flux

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

printf, _printf_l, wprintf, _wprintf_l,printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

Écrire des données mises en forme dans stdout

System::Console::Write

putc, putwc

Écrire un caractère dans un flux (versions macro de fputc et fputwc)

System::IO::StreamWriter::Write

putchar, putwchar

Écrire un caractère dans stdout (versions macro de fputchar et fputwchar)

System::Console::Write

puts, _putws

Écrire une ligne dans le flux

System::Console::Write

_putw

Écrire un int binaire dans le flux

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

rewind

Déplacer la position d'un fichier au début du flux

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

_rmtmp

Supprimer les fichiers temporaires créés par tmpfile

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

scanf, _scanf_l, wscanf, _wscanf_l,scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l

Lire les données mises en forme de stdin

System::Console::ReadLine ; consultez également les méthodes Parse, telles que System::Double::Parse.

setbuf

Contrôler la mise en mémoire tampon du flux

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

_setmaxstdio

Définir un nombre maximal de fichiers ouverts simultanément au niveau de l'E/S du flux

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

setvbuf

Contrôler la mise en mémoire tampon du flux et la taille de la mémoire tampon

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

_snprintf, _snwprintf, _snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l

Écrire des données mises en forme de la longueur spécifiée dans une chaîne

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

_snscanf, _snwscanf, _snscanf_s, _snscanf_s_l, _snwscanf_s, _snwscanf_s_l

Lire les données mises en forme d'une longueur spécifiée dans le flux d'entrée standard

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

sprintf, swprintf, sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

Écrire des données mises en forme dans une chaîne

System::String::Format

sscanf, swscanf, sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l

Lire les données mises en forme d'une chaîne

Consultez les méthodes Parse, telles que System::Double::Parse

_tempnam, _wtempnam

Générer un nom de fichier temporaire dans un répertoire donné

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

tmpfile, tmpfile_s

Créer un fichier temporaire

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

tmpnam, _wtmpnam, tmpnam_s, _wtmpnam_s

Générer un nom de fichier temporaire

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

ungetc, ungetwc

Remettre un caractère dans le flux

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

_vcprintf, _vcwprintf, _vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l

Écrire des données mises en forme dans la console

System::Console::Write

vfprintf, vfwprintf, vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Écrire des données mises en forme dans le flux

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

vprintf, vwprintf, vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l

Écrire des données mises en forme dans stdout

System::Console::Write

_vsnprintf, _vsnwprintf, vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l

Écrire des données mises en forme de la longueur spécifiée dans la mémoire tampon

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

vsprintf, vswprintf, vsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l

Écrire des données mises en forme dans la mémoire tampon

System::String::Format

Quand un programme lance l'exécution, le code de démarrage ouvre automatiquement plusieurs flux : une entrée standard (désignée par stdin), une sortie standard (désignée par stdout) et une erreur standard (désignée par stderr). Par défaut, ces flux sont dirigés vers la console (clavier et écran). Utilisez freopen pour rediriger stdin, stdout ou stderr vers un fichier sur disque ou un périphérique.

Par défaut, les fichiers ouverts à l'aide des routines de flux sont mis en mémoire tampon. Les fonctions stdout et stderr sont vidées chaque fois qu'elles sont pleines ou, si vous écrivez dans un périphérique en mode caractère, après chaque appel de bibliothèque. Si un programme se termine de façon anormale, il est possible que les mémoires tampons de sortie ne se vident pas, entraînant ainsi une perte de données. Utilisez fflush ou _flushall pour faire en sorte que la mémoire tampon associée à un fichier spécifié ou toutes les mémoires tampons soient vidées sur le système d'exploitation, qui peut mettre les données en cache avant de les écrire sur disque. La fonctionnalité de validation sur disque garantit que le contenu de mémoire tampon vidé n'est pas perdu en cas de défaillance du système.

Il existe deux façons de valider le contenu de mémoire tampon sur disque :

  • Créer un lien avec le fichier COMMODE.OBJ pour définir un indicateur de validation global. Le paramètre par défaut de l'indicateur global est n, pour « no-commit » (pas de validation).

  • Attribuer à l'indicateur de mode la valeur c avec fopen ou _fdopen.

Le comportement d'un fichier spécifiquement ouvert avec l'indicateur c ou n varie en fonction de cet indicateur, quel que soit l'indicateur de validation global (« commit »/« no-commit »).

Si votre programme ne ferme pas explicitement un flux, le flux est fermé automatiquement quand le programme se termine. Cependant, vous devez fermer un flux une fois que le programme en a terminé avec celui-ci, car le nombre de flux pouvant être ouverts simultanément est limité. Pour plus d'informations sur cette limite, consultez _setmaxstdio.

Une entrée ne peut suivre directement une sortie qu'à condition de faire un appel intermédiaire à fflush ou à une fonction de positionnement de fichier (fseek, fsetpos ou rewind). Une sortie peut suivre une entrée sans appel intermédiaire à une fonction de positionnement de fichier si l'opération d'entrée rencontre la fin du fichier.

Afficher:
© 2016 Microsoft