Partager via


E/S de flux

Ces fonctions traitent des données de tailles et des formats différents, des caractères uniques à de larges structures de données. Elles fournissent également la 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 4K. Ces routines affectent uniqueùent les mémoires tampons crées par les routines de la librairie runtime, et n'ont aucun effet sur les mémoires tampons créées par le système d'exploitation.

routines I/O de flux

Routine

Utilisez

Équivalent de .NET Framework

clearerr, clearerr_s

Indicateur d'erreur clair du flux de données

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

fclose.

Fermez le flux de données

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

Fermez tous les flux de données ouverts excepté 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

Associe le flux de données avec le descripteur de fichier du fichier ouvert

System::IO::FileStream::FileStream

feof

Test de fin de fichier sur le flux de données

System::IO::FileStream::Read

ferror

Test d'erreur dans le flux de données

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

fflush

Vide le flux de données dans la mémoire tampon ou dans une unité de stockage

System::IO::FileStream::Flush

fgetc, fgetwc

Lis les caractères à partir du flux de données (versions de fonction de getc et degetwc)

System::IO::StreamReader::Read.

_fgetchar, _fgetwchar

Lis les caractères à partir de stdin (versions de fonction degetchar et degetwchar)

System::Console::Read

fgetpos

Obtient l'Indicateur de position du flux de données

System::IO::FileStream::Position

fgets, fgetws

Lis les chaines à partir du flux de données

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

_fileno

Obtient le Descripteur de fichier associé au flux de données

System::IO::FileStream::Handle

_flushall

Vide tous les flux de données dans la mémoire tampon ou dans une unité de stockage

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

fopen, _wfopen, fopen_s, _wfopen_s

Ouvre le flux de données

System::IO::File::Open

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

Écris des données formatées dans le flux de données

System::IO::StreamWriter::Write

fputc, fputwc

Entre un caractère dans un flux (les versions de fonction deputc et deputwc)

System::IO::StreamWriter::Write

_fputchar, _fputwchar

Ecris un caractère dans stdout (versions de la fonction deputchar et deputwchar)

System::Console::Write

fputs, fputws

Ecris une chaine dans le flux

System::IO::StreamWriter::Write

fread

Lit les données non mises en forme à partir d'un flux.

System::IO::FileStream::Read

freopen, _wfreopen, freopen_s, _wfreopen_s

Réattribue le pointeur de fluxFILE au nouveau fichier ou au périphérique

System::IO::File::Open

fscanf, fwscanf, fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l

Lit les données mises en forme à partir d'un flux.

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

fseek, _fseeki64

Déplacez la position de fichier à l'emplacement spécifié

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

fsetpos

Définit l'indicateur de position du flux

System::IO::FileStream::Position

_fsopen, _wfsopen

Ouvre le flux de données avec 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

Obtient la position actuelle du fichier

System::IO::FileStream::Position

fwrite

Entre les éléments de données non mis en forme dans le flux de données

System::IO::FileStream::Write

getc, getwc

Lis les caractères à partir du flux de données (versions macro de fonction de fgetc et defgetwc)

System::IO::StreamReader::Read.

getchar, getwchar

Lis les caractères à partir de stdin (versions macro de fonction defgetchar et defgetwchar)

System::Console::Read

_getmaxstdio

Retourne le nombre de fichiers ouverts simultanément permis au niveau du flux I/O.

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

gets, getws, gets_s, _getws_s

Lis des lignes depuis stdin

System::Console::Read

_getw

Lis le binaire int depuis 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

Écris des données mises en forme dans stdout

System::Console::Write

putc, putwc

Ecris des caractères dans un flux de données (versions macro defputc et defputwc)

System::IO::StreamWriter::Write

putchar, putwchar

Ecris un caractère dans stdout (versions macro defputchar et defputwchar)

System::Console::Write

puts, _putws

Ecris une ligne à transmettre en continu

System::Console::Write

_putw

Ecris un int binaire à transmettre en continu

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

rewind

Déplace la position du 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

Supprimedes 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

lis des données mises en forme à partir destdin

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

setbuf

Controle du chargement du flux

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

_setmaxstdio

Définis une valeur maximale pour nombre de fichiers ouverts simultanément au niveau du flux I/O

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

setvbuf

Controle du chargement du flux et de la taille du 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

Ecris les données mises en forme de la longueur spécifiée sous forme de 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

Lit les données mises en forme d'une longueur spécifiée du 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

Écris des données formattées dans une chaîne.

System::String::Format

sscanf, swscanf, sscanf_s, _sscanf_s_l, swscanf_s, _swscanf_s_l

Lit les données mises en forme à partir d'une chaîne.

Voir également les méthodes Parse, telles que System::Double::Parse.

_tempnam, _wtempnam

Génére le nom de fichier temporaire dans le répertoire spécifique

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

tmpfile, tmpfile_s

Créez le 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ére le 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

Renvoie des caractères dans le flux de données

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

Ecris des données formatées dans la console

System::Console::Write

vfprintf, vfwprintf, vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Écris des données formatées dans le flux de données

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

Écris 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

Ecris les données formattées de la longueur spécifiée sous forme de chaîne

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

Ecris des données formatées dans la mémoire tampon

System::String::Format

Lorsqu'un programme lance l'exécution, le code de démarrage ouvre automatiquement plusieurs flux de données : entrée standard (désignée par stdin), sortie standard (désignée par stdout), puis erreur standard (désignée par stderr). Ces flux de données sont dirigés vers la console (clavier et écran) par défaut. Utilisez freopen pour rediriger stdin, stdout, ou stderr dans un fichier disque ou un lecteur.

Les fichiers ouverts à l'aide des routines de flux de données sont mises en mémoire tampon par défaut. Les fonctions stdout et stderr sont vidées chaque fois qu'elles sont saturées ou, si vous ecrivez sur une unité de caractères, après chaque appel de bibliothèque. Si un programme se termine anormalement, les tampons de sortie ne sont peut etre pas vidés, ce qui peut résulter en perte de données. Utilisez fflush ou _flushall pour s'assurer que la mémoire tampon associée à un fichier spécifié ou que toutes les mémoires tampons ouvertes sont vidées sur le système d'exploitation, qui peut mettre en cache les données avant de les écrire sur disque. La fonctionnalité validée sur disque garantit que le contenu vidé de mémoire tampon n'est pas perdu en cas de défaillance du système.

Il existe deux méthodes pour valider le contenu du tampon sur le disque :

  • Connectez vous au fichier COMMODE.OBJ pour définir un indicateur global de validation. Le paramètre par défaut de l'indicateur global est n, pour « étiquette sans validation. »

  • Définissez l'indicateur d'affichage à c avec fopen ou _fdopen.

Tout fichier ouvert spécifiquement avec soit c soit l'indicateur n se comporte selon l'indicateur, quelque soit l'état de l'indicateur global de validation/non validation.

Si votre programme omet de fermer explicitement un flux de données, le flux de données est fermée automatiquement lorsque le programme prend fin. Toutefois, vous devez fermer le flux de données lorsque le programme se termine avec lui, comme le nombre de flux de données qui peuvent être ouverts simultanément est limité. Voir _setmaxstdio pour plus d'informations sur cette limite.

L'entrée peut suivre la sortie directement uniquement avec un appel àfflush ou à une fonction de placement de fichier (fseek, fsetpos, ou rewind). La sortie peut suivre l'entrée sans appeler une fonction de placement de fichier si l'opération d'entrée rencontre la fin du fichier.

Voir aussi

Référence

Entrées et sorties

Routines runtime par catégorie