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 |
---|---|---|
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. |
|
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 |
|
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 |
|
Associe le flux de données avec le descripteur de fichier du fichier ouvert |
||
Test de fin de fichier sur le flux de données |
||
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. |
|
Vide le flux de données dans la mémoire tampon ou dans une unité de stockage |
||
Lis les caractères à partir du flux de données (versions de fonction de getc et degetwc) |
||
Lis les caractères à partir de stdin (versions de fonction degetchar et degetwchar) |
||
Obtient l'Indicateur de position du flux de données |
||
Lis les chaines à partir du flux de données |
System::IO::StreamReader::ReadLine, System::IO::TextReader::ReadBlock |
|
Obtient le Descripteur de fichier associé au flux de données |
||
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 |
|
Ouvre le flux de données |
||
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 |
|
Entre un caractère dans un flux (les versions de fonction deputc et deputwc) |
||
Ecris un caractère dans stdout (versions de la fonction deputchar et deputwchar) |
||
Ecris une chaine dans le flux |
||
Lit les données non mises en forme à partir d'un flux. |
||
Réattribue le pointeur de fluxFILE au nouveau fichier ou au périphérique |
||
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. |
Déplacez la position de fichier à l'emplacement spécifié |
System::IO::FileStream::Position, System::IO::FileStream::Seek |
|
Définit l'indicateur de position du flux |
||
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. |
|
Obtient la position actuelle du fichier |
||
Entre les éléments de données non mis en forme dans le flux de données |
||
Lis les caractères à partir du flux de données (versions macro de fonction de fgetc et defgetwc) |
||
Lis les caractères à partir de stdin (versions macro de fonction defgetchar et defgetwchar) |
||
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. |
|
Lis des lignes depuis stdin |
||
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 |
|
Ecris des caractères dans un flux de données (versions macro defputc et defputwc) |
||
Ecris un caractère dans stdout (versions macro defputchar et defputwchar) |
||
Ecris une ligne à transmettre en continu |
||
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. |
|
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. |
|
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. |
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. |
|
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. |
|
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. |
|
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. |
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. |
|
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. |
|
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. |
|
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 |
|
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 |
|
_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 |
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.