• # \r

    Posté par (courriel, site web personnel) . En réponse au message Mettre a jours une ligne (barre de progression console etc ...). Évalué à 4.

    Il faut utiliser le caractère "\r" qui fait revenir le curseur au début de la ligne. Pour un exemple de barre de progression tu peux aller voir le code de wget par exemple. Où utiliser ça (pas testé, mais ça compile):
    typedef struct {
     int width;
     FILE *stream;
     char *bar;
    } progress_bar;
    progress_bar *init_progress_bar(FILE *stream, int width) {
     progress_bar *res;
     res = malloc(sizeof(progress_bar));
     res->stream = stream;
     res->bar = malloc(sizeof(char)*(width+1));
     res->width = width;
     memset(res->bar, ' ', width);
     res->bar[width] = '0円';
     fprintf(res->stream, "|");
     fprintf(res->stream, res->bar);
     fprintf(res->stream, "|\r|");
     memset(res->bar, '=', width);
     return res;
    }
    void update_progress_bar(progress_bar *bar, int progress) {
     bar->bar[progress] = '0円';
     fprintf(bar->stream, bar->bar);
     bar->bar[progress] = '=';
    }
    void free_progress_bar(progress_bar *bar) {
     free(bar->bar);
     free(bar);
    }
    
    Si tu reprends ça, oublie pas d'ajouter les vérifications d'usage au début de chaque fonction (buffer overflow, toussa).

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.