Utilisation de strlen()
Fait partie de la section Logic & Flow du Journey C de Coddy — leçon 15 sur 63.
Vous avez appris à lire des chaînes de caractères à partir de la saisie de l'utilisateur, mais vous avez maintenant besoin d'un moyen de déterminer la longueur de ces chaînes. Le langage C fournit la fonction strlen() de la bibliothèque <string.h> spécifiquement à cet effet.
La fonction strlen() compte le nombre de caractères dans une chaîne, s'arrêtant lorsqu'elle atteint le terminateur nul \0. Il est important de noter qu'elle ne doit pas inclure le terminateur nul dans son décompte - elle ne compte que les caractères visibles réels.
#include <stdio.h>
#include <string.h>
char word[] = "Hello";
int length = strlen(word);
printf("Length: %d\n", length); // Affiche : Length: 5Pour utiliser strlen(), vous devez inclure l'en-tête <string.h> en haut de votre programme. La fonction prend une chaîne de caractères comme argument et retourne un entier représentant le nombre de caractères avant le terminateur nul.
Cette fonction est particulièrement utile lorsque vous avez besoin de savoir quel espace occupe une chaîne de caractères, de valider la longueur d'une entrée ou d'effectuer des opérations qui dépendent de la taille de la chaîne. C'est l'une des fonctions de chaîne de caractères les plus couramment utilisées en programmation C.
Défi
FacileÉcrivez un programme en C qui lit plusieurs mots à partir de l'entrée et analyse leurs longueurs en utilisant la fonction strlen(). Votre programme doit :
- Lire un entier
nreprésentant le nombre de mots à traiter - Pour chacun des
nmots :- Déclarer un tableau de caractères de 50 éléments pour stocker le mot
- Lire le mot en utilisant
scanf - Utiliser
strlen()pour calculer la longueur du mot - Afficher le mot et sa longueur dans le format spécifié
- Après avoir traité tous les mots, calculer et afficher le nombre total de caractères de tous les mots
- Trouver et afficher la longueur du mot le plus long rencontré
N'oubliez pas d'inclure l'en-tête <string.h> pour utiliser la fonction strlen().
Votre sortie doit afficher les résultats dans le format suivant :
Word: [word] - Length: [length]
Word: [word] - Length: [length]
...
Total characters: [total]
Longest word length: [max_length]Par exemple, si l'entrée est :
3
hello
programming
CVotre sortie doit être :
Word: hello - Length: 5
Word: programming - Length: 11
Word: C - Length: 1
Total characters: 17
Longest word length: 11Ce défi teste votre compréhension de l'utilisation de strlen() pour mesurer la longueur des chaînes, du traitement de plusieurs chaînes avec des boucles et de l'exécution de calculs basés sur les données de longueur de chaîne.
Aide-mémoire
La fonction strlen() de <string.h> compte le nombre de caractères dans une chaîne, à l'exclusion du terminateur nul \0 :
#include <stdio.h>
#include <string.h>
char word[] = "Hello";
int length = strlen(word);
printf("Length: %d\n", length); // Affiche : Length: 5La fonction prend une chaîne de caractères comme argument et renvoie un entier représentant le nombre de caractères visibles avant le terminateur nul.
Essayez vous-même
#include <stdio.h>
#include <string.h>
int main() {
// Lire le nombre de mots
int n;
scanf("%d", &n);
// Variables pour suivre les totaux
int total_characters = 0;
int max_length = 0;
// À FAIRE : Écrivez votre code ici
// Traiter chaque mot à l'aide d'une boucle
// Pour chaque mot :
// - Déclarer un tableau de caractères avec 50 éléments
// - Lire le mot en utilisant scanf
// - Calculer la longueur en utilisant strlen()
// - Afficher le mot et sa longueur
// - Mettre à jour total_characters et max_length
// Afficher les résultats finaux
printf("Total characters: %d\n", total_characters);
printf("Longest word length: %d\n", max_length);
return 0;
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logic & Flow
1Les bases des pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de pointeursL'opérateur d'adresse (&)L'opérateur de déréférencement (*)Pointeurs NULLRécapitulatif : Les bases des pointeurs4Projet : Utilitaire de texte simple
Présentation du projetCompter les caractères2Pointeurs et Tableaux
Noms de tableaux comme pointeursÉléments de tableau - PointeursArithmétique des pointeursComparaison de pointeursRécapitulatif : Parcours de tableau par pointeur5Pointeurs et fonctions
Passage par valeurPassage de pointeurs aux fonctionsModifier des variables via des pointeursUn exemple classique : SwapPassage de tableaux aux fonctionsRécapitulatif : Pointeurs comme arguments de fonction3Tableaux de caractères et chaînes
Les chaînes comme tableaux de charLe terminateur nulSaisie de chaînes avec scanfUtilisation de strlen()Utilisation de strcpy()Utilisation de strcat()Utilisation de strcmp()Récapitulatif : Fonctions de base sur les chaînes