Aller au contenu principal

Exercice 02

Exercice 02: Affichage des caractères d'une chaîne

Votre deuxième tâche consiste à écrire une fonction C appelée my_putstr qui affiche, un par un, les caractères d'une chaîne. L'adresse du premier caractère de la chaîne se trouve dans le pointeur passé en paramètre à la fonction.


// Prototype de la fonction
int my_putstr(const char *str);

Indices

Avant de plonger dans la solution, voici quelques indices pour vous aider à aborder le problème :

  • Comprenez comment les chaînes de caractères sont représentées en C à l'aide de tableaux de caractères terminés par un caractère nul.
  • Renseignez-vous sur l'arithmétique des pointeurs et comment elle peut être utilisée pour parcourir une chaîne de caractères.
  • Pensez à utiliser une boucle while pour parcourir les caractères de la chaîne.
  • Utilisez la fonction my_putchar fournie pour afficher chaque caractère.

Ces indices devraient vous donner un bon point de départ pour travailler sur l'exercice. Bonne chance !

Solution
#include <unistd.h>

void my_putchar(char c)
{
write(1, &c, 1);
}

/*
* Cette fonction, my_putstr, affiche les caractères d'une chaîne
* un par un en utilisant la fonction my_putchar.
*/
int my_putstr(const char *str) {
// Parcourir la chaîne jusqu'à ce que le caractère nul '\0' soit atteint
for (int i = 0; str[i] != '\0'; i++) {
// Afficher le caractère actuel en utilisant la fonction my_putchar
my_putchar(str[i]);
}

// Retourner 0 pour indiquer une exécution réussie
return 0;
}

Explication :

  • Dans cette solution, nous utilisons une boucle for pour parcourir chaque caractère de la chaîne passée en paramètre.
  • La boucle continue jusqu'à ce que le caractère nul '\0' soit rencontré, indiquant la fin de la chaîne.
  • À l'intérieur de la boucle, nous utilisons l'indexation (str[i]) pour accéder à chaque caractère de la chaîne et le passer à la fonction my_putchar pour l'afficher.
  • Ce processus se poursuit jusqu'à ce que tous les caractères de la chaîne aient été imprimés.