diff --git a/analyseur.c b/analyseur.c index 0118d97..2205ba9 100644 --- a/analyseur.c +++ b/analyseur.c @@ -380,15 +380,11 @@ void analyser_bigrammes(char **lignes, int nb_lignes, char *construire_rapport(const Entree *table, int n) { char *rapport = malloc((size_t)n * 64 + 256); - char ligne[128]; - rapport[0] = '\0'; + char *fin = rapport; /* position du '\0' final : on écrit directement à la suite */ - ajouter(rapport, "rang;mot;occurrences\n"); - for (int i = 0; i < n; i++) { - snprintf(ligne, sizeof(ligne), "%d;%s;%d\n", - i + 1, table[i].mot, table[i].occurrences); - ajouter(rapport, ligne); - } + fin += sprintf(fin, "rang;mot;occurrences\n"); + for (int i = 0; i < n; i++) + fin += sprintf(fin, "%d;%s;%d\n", i + 1, table[i].mot, table[i].occurrences); return rapport; }