// auteur : Bruno Malenfant /* Ce module permet de cacher le mecanisme de lecture de phrase. Les operations permises permettent d'extraire les mots (char) lues un a un. Ce module est une machine abstraite. */ #include "LecteurPhrase.h" #include #include static int c_motSuivant; static bool c_finDePhrase; // Initialise le flux de mot. // Cette routine doit etre appelee avant // d'utiliser les autres. void initialiserLecteurPhrase() { c_motSuivant = getchar(); c_finDePhrase = c_motSuivant == EOF; } // Fonction retournant le prochain mot lu. // Si la fin de la phrase a ete rencontre alors // elle retourne le caractere 0. char motSuivant() { char resultat = c_finDePhrase ? '\0' : ( char )c_motSuivant; if( ! c_finDePhrase ) { c_motSuivant = getchar(); c_finDePhrase = c_motSuivant == EOF; } return resultat; } // Cette fonction retourne true si la fin // de la phrase a ete rencontre. bool finDePhrase() { return c_finDePhrase; } // exemple d'utilisation : /* initialiserLecteurPhrase(); while( ! finDePhrase() ) { char mot = motSuivant(); ... } */