12.3.1 Lecture au clavier d'une chaîne par gets (utilité : ***)

Icône de l'outil pédagogique Lecture au clavier d'une chaîne par gets (utilité : ***)

La fonction gets permet de lire une phrase, c’est‐à‐dire une succession de caractères incluant les caractères espace ou tabulation, qui sont alors considérés comme les autres. Seul le caractère Entrée (fin de ligne) a droit à un traitement particulier, puisqu’il interrompt la lecture. Par exemple, les instructions

char texte[81] ;
gets(texte) ;

permettent la lecture au clavier d'une phrase complète, la fin de la lecture n'étant provoquée que par la frappe d'Entrée (et non d'un autre séparateur). A noter : Entrée est éliminée du tampon clavier sans être mémorisée dans la chaîne (alors que scanf conserve le séparateur dans le tampon clavier).
Il est fréquent de devoir lire des chaînes de caractères qui comportent des espaces (phrases…). C’est donc gets (et ses variantes comme fgets) qui est la plus utile des fonctions de lecture de chaîne.

Exemple 68 : Lecture d'une chaîne qui contient des espaces ou tabulations