Quel est le moyen le plus simple d'afficher des nombres changeants dans la console ? J'ai un programme en ligne de commande normal en C++ qui utilise cout
Mais j'aimerais afficher un pourcentage représentant la progression qui compte jusqu'à 100 sans imprimer une nouvelle ligne. Comment cela est-il possible ? (Si cela a de l'importance : je suis sous Windows 7)
Réponses
Trop de publicités?Lorsque j'en ai eu besoin, j'ai simplement produit un retour chariot caractère, en C++ \r
.
N'oubliez pas de affleurer la sortie à chaque fois, par exemple
cout << "\r" << x << "% completed. " << flush;
Les espaces à la fin pour effacer la sortie précédente sur la ligne en cas de progression fluctuante de type Microsoft.
Je place normalement un retour chariot après l'information sur la progression. De cette manière, toute autre sortie apparaîtra comme normale (tant qu'il y a suffisamment de caractères dans la ligne pour écraser complètement les informations de progression).
cerr<<percentage<<"% \r";
D'ailleurs, je préfère utiliser cerr plutôt que cout pour ce genre d'informations d'état/de diagnostic, de sorte que cout puisse être réservé au vrai contenu. De cette façon, vous pouvez rediriger la sortie normale du programme vers un fichier et continuer à voir la progression dans la console. De plus, avec cerr, vous n'avez pas besoin d'utiliser "flush".