English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Manuel de référence du langage C/gets() et puts() sont déclarés dans le fichier d'en-tête stdio.h. Ces deux fonctions sont utilisées pour les entrées de chaînes de caractères
Fonction gets() en C
Déclaration
gets()\n est utilisé pour permettre à l'utilisateur d'entrer quelques caractères, puis d'appuyer sur la touche Entrée. Tous les caractères entrés par l'utilisateur sont stockés dans un tableau de caractères. Un caractère de fin de chaîne est ajouté à l'array pour en faire une chaîne. \ngets() permet à l'utilisateur d'entrer une chaîne de caractères séparée par des espaces. Il retourne la chaîne entrée par l'utilisateur.
#include\n<stdio.h> void \nmain(){ char \ns[30]; printf("Entrez une chaîne de caractères? \n"); gets(s); printf("Vous avez entré \n%s",s); }
Entrez une chaîne de caractères? fr.oldtoolbag.com Vous avez entré \nfr.oldtoolbag.com
Utilisation de la fonction gets() est risquée, car elle ne réalise aucune vérification de liaison de tableau et lit des caractères jusqu'à ce qu'il y ait une nouvelle ligne (enter). Elle est susceptible d'être affectée par un débordement de pile, ce que l'on peut éviter en utilisant fgets(). fgets() assure que les caractères lus ne dépassent pas la limite maximale. Voici un exemple.
#include\n<stdio.h> void \nmain() { char \nstr[20]; printf("Entrez une chaîne de caractères? \n"); fgets(str, 20, \nstdin); printf("%s", \nstr); }
Entrez une chaîne de caractères? \nfr.oldtoolbag.com \nBase Tutorial fr.oldtoolbag.com \nBase
La fonction puts() est très similaire à la fonction printf(). La fonction puts() est utilisée pour afficher une chaîne de caractères sur le contrôleur, après avoir lu la chaîne avec get() ou scanf(). Son rôle est de: retourner une valeur entière, représentant le nombre de caractères affichés sur le contrôleur. Comme elle utilise un caractère de saut de ligne supplémentaire pour déplacer le curseur à une nouvelle ligne sur le contrôleur, la valeur entière retournée par puts() est toujours égale au nombre de caractères présents dans la chaîne plus1\n
Déclaration
int \nputs(char\[])
Laissez-nous voir un exemple où gets() lit une chaîne de caractères et puts() l'affiche sur le contrôleur.
#include\n<stdio.h> #include \n<string.h> int \nmain(){ char \nname[50]; printf("Entrez votre nom: \n"); gets(name); //Lecture de la chaîne de caractères à partir de l'utilisateur printf("Votre nom est: "); puts(name); //Affichage de la chaîne return 0; }
Entrez votre nom: Seagull Li Votre nom est: Seagull Li