logo

Fonctions C gets() et puts()

Les get() et puts() sont déclarés dans le fichier d'en-tête stdio.h. Les deux fonctions sont impliquées dans les opérations d’entrée/sortie des chaînes.

Fonction C obtient()

La fonction gets() permet à l'utilisateur de saisir quelques caractères suivis de la touche Entrée. Tous les caractères saisis par l'utilisateur sont stockés dans un tableau de caractères. Le caractère nul est ajouté au tableau pour en faire une chaîne. Le gets() permet à l'utilisateur de saisir les chaînes séparées par des espaces. Il renvoie la chaîne saisie par l'utilisateur.

Déclaration

 char[] gets(char[]); 

Lecture d'une chaîne à l'aide de gets()

 #include void main () { char s[30]; printf('Enter the string? '); gets(s); printf('You entered %s',s); } 

Sortir

 Enter the string? javatpoint is the best You entered javatpoint is the best 

La fonction gets() est risquée à utiliser car elle n'effectue aucune vérification liée au tableau et continue à lire les caractères jusqu'à ce que la nouvelle ligne (entrée) soit rencontrée. Il souffre d'un débordement de tampon, qui peut être évité en utilisant fgets(). fgets() garantit que la lecture ne dépasse pas la limite maximale de caractères. Considérez l'exemple suivant.

 #include void main() { char str[20]; printf('Enter the string? '); fgets(str, 20, stdin); printf('%s', str); } 

Sortir

 Enter the string? javatpoint is the best website javatpoint is the b 

Fonction C put()

La fonction puts() est très similaire à la fonction printf(). La fonction puts() est utilisée pour imprimer la chaîne sur la console qui a été préalablement lue à l'aide de la fonction gets() ou scanf(). La fonction puts() renvoie une valeur entière représentant le nombre de caractères imprimés sur la console. Puisqu'il imprime un caractère de nouvelle ligne supplémentaire avec la chaîne, ce qui déplace le curseur vers la nouvelle ligne de la console, la valeur entière renvoyée par puts() sera toujours égale au nombre de caractères présents dans la chaîne plus 1.

Déclaration

 int puts(char[]) 

Voyons un exemple pour lire une chaîne en utilisant gets() et l'imprimer sur la console en utilisant puts().

chaîne de entier
 #include #include int main(){ char name[50]; printf('Enter your name: '); gets(name); //reads string from user printf('Your name is: '); puts(name); //displays string return 0; } 

Sortir:

 Enter your name: Sonoo Jaiswal Your name is: Sonoo Jaiswal