Menu
CoddyTech

Utilisation de strlen()

Fait partie de la section Logique & Flux du Journey C de Coddy. Leçon 15 sur 63.

Tu as appris à lire des chaînes à partir de la saisie utilisateur, mais tu dois maintenant trouver un moyen de déterminer leur longueur. C fournit la fonction strlen() de la bibliothèque <string.h> précisément à cette fin.

La fonction strlen() compte le nombre de caractères dans une chaîne, jusqu’à ce qu’elle atteigne le terminateur nul \0. Il est important de noter qu’elle n’inclut pas le terminateur nul dans son décompte : elle compte uniquement les caractères visibles.

#include <stdio.h>
#include <string.h>

char word[] = "Hello";
int length = strlen(word);
printf("Length: %d\n", length);  // Affiche : Length: 5

Pour utiliser strlen(), tu dois inclure l’en-tête <string.h> en haut de ton programme. Cette fonction prend une chaîne de caractères comme argument et renvoie un entier représentant le nombre de caractères avant le caractère nul de fin.

Cette fonction est particulièrement utile lorsque tu as besoin de connaître l’espace qu’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 d’une chaîne. C’est l’une des fonctions de chaîne les plus utilisées en programmation C.

challenge icon

Défi

Facile

Écrivez un programme C qui lit plusieurs mots en entrée et analyse leur longueur à l’aide de la fonction strlen(). Votre programme doit :

  1. Les lignes au-dessus de votre code lisent déjà un entier n, le nombre de mots à traiter
  2. Pour chacun des n mots :
    • Déclarer un tableau de caractères de 50 éléments pour stocker le mot
    • Lire le mot à l’aide de scanf
    • Utiliser strlen() pour calculer la longueur du mot
    • Afficher le mot et sa longueur au format spécifié
  3. Après avoir traité tous les mots, stocker dans total_characters le nombre total de caractères de tous les mots
  4. Stocker dans max_length la longueur du mot le plus long

Les lignes au-dessus de votre code incluent déjà l’en-tête <string.h> dont strlen() a besoin.

Les lignes au-dessous de votre code affichent total_characters et max_length. Votre sortie doit ressembler à ceci :

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
C

Votre sortie doit être :

Word: hello - Length: 5
Word: programming - Length: 11
Word: C - Length: 1
Total characters: 17
Longest word length: 11

Ce 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 la réalisation de calculs à partir des données de longueur des chaînes.

Essayez vous-même

    // TODO: Écrivez votre code ici
    // Traitez chaque mot à l’aide d’une boucle
    // Pour chaque mot :
    // - Déclarez un tableau de caractères de 50 éléments
    // - Lisez le mot avec scanf
    // - Calculez sa longueur avec strlen()
    // - Affichez le mot et sa longueur
    // - Mettez à jour total_characters et max_length
    
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux

Entraînez-vous par vous-même : Compilateur C en ligne