Cout << while running

Résolu
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 - 8 août 2005 à 14:38
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 - 8 août 2005 à 15:08
Salut,

Je fais un programme console.
Le programme occupe tout le processeur pour effectuer de complexes calculs de plusieurs minutes.
La console et censee donner l`avancement du calcul en affichant quelles etapes ont ete terminee avec cout << ".....".
Or la console n`est mise a jour qu`a la toute fin du programme.

En gros, un:
for (i=0; i<5;i++) cout << i;
affichera 01234 seulement une fois la boucle terminee.

Comment forcer la mise a jour de la console avant la fin de l`execution du programme ?

Merci

3 réponses

cs_goth Messages postés 82 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 23 août 2005
8 août 2005 à 15:02
c normal cout est bufferisé (ou un truc du genre)...

il faut faire un cout<<flush; ou endl; pour que ce soit envoyé à la sortie.
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
8 août 2005 à 15:01
Execute tes calculs dans un thread!
Ca evitera a ton prog de s'accaparer toute les ressources systemes.

Shell
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
8 août 2005 à 15:08
Merci a vous deux, le flush fonctionne.
J`avais pense aux threads mais j`esperais plus simple.

Merci encore
0
Rejoignez-nous