programmez-en-d/es.whata

40 lines
2.4 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[set
title = "Flux d'entrée et de sortie standards"
partAs = chapitre
translator = "Raphaël Jakse"
proofreader = "Stéphane Goujet"
]
Jusqu'ici, l'affichage de nos programmes apparaissait dans la console. Bien qu'elle soit la destination dans la plupart des cas, en réalité les caractères sont envoyés dans les [* flux de sortie] des programmes.
La sortie standard est basée sur les caractères~ : tous les objets à afficher sont d'abord convertis en leur représentation sous forme de caractères et sont ensuite envoyés à la sortie un par un en tant que caractères. Par exemple, la valeur entière 100 que nous avons affichée dans le chapitre précédent n'est pas envoyée à la sortie en tant que valeur 100, mais comme trois caractères~ : '1', '0', et '0'.
De façon similaire, ce que nous percevons normalement comme le clavier est en fait le [* flux d'entrée standard] d'un programme et est aussi basé sur les caractères. L'information vient toujours sous forme de caractères à convertir en données. Par exemple la valeur 42 vient en fait de l'entrée standard sous forme de caractères~ : '4' et '2'.
Ces conversions se font automatiquement.
Ce concept de caractères qui se suivent est appelé un [* flux de caractères]. Comme l'entrée standard et la sortie standard du D correspondent à cette description, ce sont des flux de caractères.
Les noms des flux d'entrée standard et de sortie standard en D sont respectivement [c stdin] et [c stdout].
Les opérations sur ces flux nécessitent normalement le nom du flux, un point, et l'opération, comme dans [c stream.operation()]. Cependant, comme [c stdin] et [c stdout] sont très couramment utilisés, par commodité, les opérations standard les concernant peuvent être appelées sans qu'il y ait besoin du nom du flux et du point, comme dans [c operation()].
[c writeln], que l'on a utilisé dans les chapitres précédents, est en effet la forme abrégée de [c stdout.writeln]. De même, [c write] est la forme abrégée de [c stdout.write]. Du coup, le programme ''hello world'' peut aussi être écrit comme cela~ :
[code=d <<<
import std.stdio;
void main()
{
stdout.writeln("Hello world!");
}
>>>]
[ = Exercice
Observez que [c write] (ou [c writeln]) fonctionne de la même manière que [c stdout.write] (ou [c stdout.writeln]).
[[part:corrections/es | … La solution]
]