La fonction gets() est une fonction de la bibliothèque standard du langage C qui permet de lire une chaîne de caractères depuis l'entrée standard (par exemple, le clavier) jusqu'à ce qu'un caractère de fin de ligne soit lu ou que la taille maximale de la chaîne soit atteinte. Elle stocke les caractères lus dans un tableau de caractères.
Voici un exemple d'utilisation de la fonction gets() :
#include <stdio.h>
int main() {
char chaine[100];
printf("Entrez une chaîne de caractères : ");
gets(chaine);
printf("Vous avez entré : %s\n", chaine);
return 0;
}
Dans cet exemple, la fonction gets() est utilisée pour lire une chaîne de caractères entrée par l'utilisateur à partir du clavier. La chaîne est stockée dans un tableau de caractères appelé chaine. La fonction printf() est ensuite utilisée pour afficher la chaîne lue à l'utilisateur.
Il est important de noter que la fonction gets() n'est pas sûre car elle ne prend pas en compte la taille du tableau de caractères dans lequel elle stocke les caractères lus. Elle peut donc causer des débordements de tampon (buffer overflow) si la taille de la chaîne entrée est plus grande que la taille du tableau.
Ainsi, il est recommandé d'utiliser la fonction fgets() à la place de gets() car elle permet de spécifier la taille maximale de la chaîne à lire :
fgets(chaine, 100, stdin);
La fonction strlen() est une autre fonction de la bibliothèque standard du langage C qui permet de déterminer la longueur d'une chaîne de caractères en comptant le nombre de caractères qu'elle contient jusqu'au caractère de fin de chaîne ('\0'). Voici un exemple d'utilisation de la fonction strlen() :
#include <stdio.h>
#include <string.h>
int main() {
char chaine[100] = "Hello World!";
int longueur;
longueur = strlen(chaine);
printf("La longueur de la chaîne est : %d\n", longueur);
return 0;
}
Dans cet exemple, la fonction strlen() est utilisée pour déterminer la longueur de la chaîne de caractères "Hello World!". La longueur est ensuite stockée dans une variable appelée longueur. La fonction printf() est ensuite utilisée pour afficher la longueur de la chaîne à l'utilisateur.
Il est important de noter que la fonction strlen() ne compte pas le caractère de fin de chaîne ('\0') dans la longueur de la chaîne. Ainsi, la longueur de la chaîne "Hello World!" est de 11 et non de 12.
En conclusion, les fonctions gets() et strlen() sont deux fonctions importantes de la bibliothèque standard du langage C qui permettent de manipuler des chaînes de caractères. Il est recommandé d'utiliser la fonction fgets() à la place de gets() pour des raisons de sécurité. Il est également important de noter que la fonction strlen() ne compte pas le caractère de fin de chaîne dans la longueur de la chaîne.