GETS |
Demande une chaîne |
---|---|
Langage C | stdio.h |
Syntaxe
char *gets(char *buf); |
Paramètres
Nom | Description |
---|---|
buf | Ce paramètre permet d'indiquer le tampon de réception des données |
Description
Cette fonction effectue la lecture d'une chaîne de caractères à partir de la console standard.
Algorithme
MODULE GETS(buffer) SI buffer est NULL ALORS * Le pointeur fourni est invalide RETOURNE NULL FIN SI index ← 0 BOUCLE FAIRE TANT QUE true char ← read_next_character_from_stdin() SI char = EOF ALORS SI index = 0 ALORS * Aucun caractère lu, fin de fichier atteinte RETOURNE NULL FIN SI * Arrête la lecture, fin de fichier atteinte break FIN SI SI char = '\n' ALORS * Arrête la lecture, saut de ligne rencontré break FIN SI buffer[index] ← char index ← index + 1 * Danger potentiel : aucun contrôle de débordement n'est effectué ici FIN BOUCLE FAIRE TANT QUE * Termine la chaîne de caractères buffer[index] ← '\0' RETOURNE buffer |
Remarques
- La révision de la norme C de 2011 (C11) a définitivement enlever cette fonction des spécifications. Ainsi, il est déconseillé d'utiliser cette fonction.
- La fonction gets ne devrait jamais être utilisé dans vos programmes car elle ne vérifie pas les limites du tampon et peut provoquer un débordement de votre tampon.
Exemple
Voici un exemple d'utilisation de cette fonction :
Essayer maintenant !
on obtiendra le résultat semblable suivant :
Entrez votre texte ici et appuyez sur ENTER :j'entre du texte ici !
Voici le résultat que vous avez entrer : j'entre du texte ici !
Voir également
Langage de programmation - C - Référence de procédures et fonctions - fgets
Langage de programmation - C - Référence de procédures et fonctions - fread
Langage de programmation - C - Référence de procédures et fonctions - fputs
Langage de programmation - C++ - Référence de procédures et fonctions - gets
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 732.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 131.
Dernière mise à jour : Mardi, le 28 juillet 2015