les flux - C++ - Programmation
Marsh Posté le 05-11-2002 à 18:15:38
bol972 a écrit a écrit : Bonjour, c koi le flux d'entrée "cin" et le flux de sortie "cout" je comprends vraiment leur role |
si tu comprends c quoi l'objet du topic ?
Marsh Posté le 05-11-2002 à 18:18:19
le flux d'entrée sert a lire en entrée, et le flux de sortie a écrire en sortie
c'est suffisement clair ?
Marsh Posté le 05-11-2002 à 19:24:59
lorill a écrit a écrit : le flux d'entrée sert a lire en entrée, et le flux de sortie a écrire en sortie c'est suffisement clair ? |
je comprends pas trop
les sorties par rapport a quoi
Marsh Posté le 05-11-2002 à 19:26:45
bol972 a écrit a écrit : je comprends pas trop les sorties de quoi? |
ton ecran, quoi
Marsh Posté le 05-11-2002 à 19:29:07
lorill a écrit a écrit : ton ecran, quoi |
en fait je suis en train d'étudier le c++
pour ma licence j'ai étudier de langage ( je suis + réseaux)
dans le cours on parle de flux de sortie et de flux entrant
la question que je pose ca represente quoi la mémoire , un bibliotèque
tu vois
Marsh Posté le 05-11-2002 à 19:31:00
bol972 a écrit a écrit : dans le cours on parle de flux de sortie et de flux entrant la question que je pose ca represente quoi la mémoire , un bibliotèque tu vois |
non, je vois pas trop. si je comprenais ta question, je t'aurais peut-etre filé une vrai réponse.
Marsh Posté le 05-11-2002 à 19:32:13
lorill a écrit a écrit : non, je vois pas trop. si je comprenais ta question, je t'aurais peut-etre filé une vrai réponse. |
c pas grave
merci kd meme
Marsh Posté le 05-11-2002 à 22:01:53
HappyHarry a écrit a écrit : si tu comprends c quoi l'objet du topic ? |
Marsh Posté le 06-11-2002 à 01:33:07
bol972 a écrit a écrit : Bonjour, c koi le flux d'entrée "cin" et le flux de sortie "cout" je comprends vraiment leur role |
ce sont des notions heritees d'unix.
Tu as des fichiers (flux) par defaut ouvert pour tous les programmes lances.
un fichier en lecture : stdin
et deux fichiers en ecriture : stdout et stderr
Grace a la notion unifiee de fichiers Unix, ces fichiers peuvent representer n'importe quoi: la sortie ecran, l'entree clavier, le disque dur, une connexion reseau etc..
Et ce vers quoi elles sont redirigees depend du contexte
dans lequel on a execute le programme:
exemple
toto > output.txt
si tu tapes ca sur une ligne de commande ca va rediriger
stdout vers le fichier output.txt
cin et cout sont la version C++ et objet de stdin et stdout.
c'est a dire que toute donnee lue depuis cin est en fait lue de stdin et toute donnee envoyee a cout est en fait ecrite sur stdout.
A+
LeGreg
Marsh Posté le 06-11-2002 à 04:26:49
J'ai cherché une bonne grosse vanne, mais comme je manque d'inspiration je vais expliquer.
cin et cout sont des flux dédiés aux entrées/sorties de caractères sur la console.
Code :
|
Il existe tout un tas de flux dédiés aux fichiers, buffers, ou ce qu'on veut, qui s'utilisent pareil.
Aussi, ils s'adaptent au type de leurs arguments.
Bref, ça remplace scanf et printf, en mieux.
Marsh Posté le 06-11-2002 à 11:36:16
Musaran a écrit a écrit : J'ai cherché une bonne grosse vanne, mais comme je manque d'inspiration je vais expliquer. cin et cout sont des flux dédiés aux entrées/sorties de caractères sur la console.
Il existe tout un tas de flux dédiés aux fichiers, buffers, ou ce qu'on veut, qui s'utilisent pareil. |
merci a tous les deux je comprend bc mieux now
Marsh Posté le 06-11-2002 à 12:32:16
Ce serait sans doute plus clair si on faisait un peut d'histoire de l'informatique.
Il y a quelques décennies, à l'époque où les écrans n'existaient pas encore (ou bien seulement pour l'administeur système, mais pas pour les utilisateurs), la seule sortie qui existait était le papier, et l'imprimante matricielle. On a donc représenté la sortie standard comme une feuille de papier avec une largeur fixe (typiquement 80 colonnes) et une hauteur infinie (donc un nombre de lignes aussi grand que l'on veut.
Cette époque n'est pas si lointaine que cela, puisqu'on fonctionnait encore suivant ce mode au début des années 80 (je parle des utilisateurs ; c'est l'apparition des PC, donc des postes individuels, qui a tout bouleversé).
Ce type de périphérique de sortie est ce que l'on appelle un "télétype". Le télétype reçoit des caractères, les imprime un par un comme une imprimante, et on utilise un caractère spécial pour permettre un retour à la ligne automatique -- comme une imprimante. Et les flux en C++ en sont rien d'autre que cela : un "truc" qui imprime des caractères comme un télétype.
Je n'ai pas supposé, dans ma description que les caractères étaient affichés sur un écran. Le paradigme du télétype peut en effet s'appliquer à un écran, dès lors qu'on assure un défilement approprié à chaque retour à la ligne ; il peut aussi s'appliquer aux imprimantes, tant qu'elles n'affichent que du texte brut, ou même aux fichiers texte. Ceci explique pourquoi on utilise les flux pour lire ou écrire adns des fichiers.
Enfin, lorsque les écrans texte sont apparus, on les a utilisés comme des télétypes, pour éviter de changer tous les programmes déjà écrits. Voiilà pourquoi aujourd'hui on utilise toujours cette notion de flux de caractères pour afficher à l'écran.
Marsh Posté le 06-11-2002 à 13:06:58
BifaceMcLeOD a écrit a écrit : On a donc représenté la sortie standard comme une feuille de papier avec une largeur fixe (typiquement 80 colonnes) |
Le nombre de 80 vient des cartes à perforer (on remonte un peu plus loin dans le temps), car les cartes à perforer permettaient d'encoder 80 informations par carte justement. C'est pour cela que l'écran texte standard sur un PC compte 80 colonnes, et par conséquent, les imprimantes PC ont suivi ce mouvement.
Marsh Posté le 07-11-2002 à 23:25:43
Qu'est-ce que c'est archaïque ce qu'on utilise quand même.
Par exemple, la gestion de fichier: même pas moyen de tronquer un fichier.
Marsh Posté le 09-11-2002 à 04:25:02
Ben oui, mais la librairie standard ne montre pas le bon exemple non plus...
Marsh Posté le 05-11-2002 à 14:38:10
Bonjour,
c koi
le flux d'entrée "cin" et le flux de sortie "cout"
je comprends vraiment leur role
---------------
http://www.independza.com