Un programme pas trop compréhensible
Re-bonjour voila l'énnoncé d'un exercice que j'ai à faire mais je ne comprends pas trop cette histoire d'itérateur si quelqu'un voulez bien m'expliquez ce qu'on attend de moi dans l'exercice,
merci d'avance a vous tous!!!
Voici l'ennoncé:
Ecrivez un programme qui accumule son entrée standard en interne jusqu'à ce
qu'il y trouve une des deux lignes suivantes : "display" ou "rdisplay". Les
lignes vides sont accumulées aussi.
Dans le premier cas, il affichera alors toutes les lignes accumulées dans
l'ordre d'apparition. Dans le second, il les affichera dans l'ordre inverse.
Vous devez passer par des itérateurs, et utiliser le BON TYPE d'itérateur
suivant la direction du parcours.
La ligne "déclencheuse" n'est pas accumulée, et donc pas affichée.
Si aucune des deux lignes n'est trouvée dans l'entrée standard, on agit
comme si le flux s'était terminé par une ligne "display".
Après avoir traité une ligne "display" ou "rdisplay", le programme
recommence à accumuler des lignes, en ayant vidé son stockage au préalable.
Si l'entrée standard est vide, le programme n'affiche bien entendu rien du
tout.
Exemples :
$ cat was_demo1
hello
world
great
$ ./was < was_demo1
hello
world
great
$ cat was_demo2
hello
world
rdisplay
this
is
great
$ ./was < was_demo2
world
hello
this
is
great
$ ./was < /dev/null
$