M1103 – TP3 – Exercice 6

Dans un fichier texte (= dans un flux), un mot est une suite de caractères sans caractère d’espacement (espace, tabulation, passage à la ligne suivante ‘\n’).

Ecrire la fonction ExtractionsMots() qui, dans une boucle, extrait (opérateur >>) au clavier (ou sur un fichier redirigé sur l’entrée standard cin) tous les mots et les affiche à l’écran à raison d’un par ligne. La boucle se termine lorsque l’extraction échoue (fail()).

Faire plusieurs essais, en saisissant un mot par ligne, plusieurs mots sur la même ligne, en utilisant les tabulations, en saisissant des lignes vierges ou seulement composées de caractères d’espacement.

Vous devez constater que :

  1. n’importe quel caractère (sauf espacement) peut être considéré comme un mot (un ‘.’ seul par exemple),
  2. tous les caractères d’espacement avant un mot sont ignorés,
  3. la seule façon de terminer le programme est de taper le caractère “fin-de-fichier” (Ctrl+D). La condition d’arrêt peut donc aussi utiliser le prédicat eof()