Comment utiliser les fgets () fonction pour la saisie de texte dans la programmation de c

Pour une fonction de saisie de texte à usage général dans le langage de programmation C, celui qui lit au-delà du premier caractère d'espace blanc, essayez les fgets () function. Voici le format:

omble #include * fgets (char * restreindre s, int n, FILE * restreindre flux) -

Effrayant, non? Voilà parce que fgets () est une fonction de fichier, qui lit le texte à partir d'un fichier, comme dans “ fichier chaîne de get ”. Voilà comment les programmeurs parlent après une nuit blanche.

Parce que le système d'exploitation considère l'entrée standard comme un fichier, vous pouvez utiliser fgets () pour lire le texte à partir du clavier.

Voici une version simplifiée des fgets () comme il applique à la lecture de la saisie de texte:

fgets (chaîne,taille,stdin) -



Dans cet exemple, chaîne est le nom d'un tableau de caractères, une chaîne Variable- taille est la quantité de texte à entrée plus un, qui devrait être la même taille que le array- char et stdin est le nom du périphérique d'entrée standard, tel que défini dans le fichier d'en-tête stdio.h.

LA Fgets () FONCTION lit une chaîne

#include int main () {char nom [10] -printf («Qui êtes-vous") -fgets (nom, 10, stdin) -printf ("heureux de vous rencontrer,% s. n", nom) - retourner (0) -}

Exercice 1: Tapez le code source à partir du fgets () Fonction lit une chaîne dans un nouveau projet, ex0716. Compiler et exécuter.

La fonction fgets () à la ligne 8 se lit dans le texte. Le texte va dans le nom tableau, qui est fixé à un maximum de dix caractères dans la ligne 5. Le nombre 10 indique que fgets () lit en seulement neuf personnages, un de moins que le nombre spécifié. Enfin, l'entrée standard est spécifié comme “ fichier ” à partir de laquelle l'entrée est lue. stdin est stunARD dansmettre.

Le tableau de char doit avoir un caractère supplémentaire réservée pour la 0 à la fin d'une chaîne. Sa taille doit être égale à la taille de l'entrée vous avez besoin - plus un.

Voilà comment le programme fonctionne:

Qui es-tu? Danny GookinHeureux de vous rencontrer, Danny Goo.

Seuls les neuf premiers caractères du texte tapé dans la première ligne sont affichées. Pourquoi seulement neuf? Parce que du caractère de la chaîne de terminaison - le NULL, ou 0. La salle pour ce personnage est défini lorsque le nom tableau est créé à la ligne 5. Si fgets () lisaient dans dix caractères au lieu de neuf, le tableau serait déborder, et le programme pourrait ne pas fonctionner correctement.

Exercice 2: Modifier la taille du tableau dans le code source à partir du fgets () Fonction Lit une chaîne à une valeur constante. Réglez la constante pour permettre l'entrée seulement trois caractères.

  • La fonction fgets () lit le texte à partir de l'entrée standard, et non pas à partir du clavier directement.

  • La valeur retournée par fgets () est la chaîne qui était entrée.


» » » » Comment utiliser les fgets () fonction pour la saisie de texte dans la programmation de c