Bizzareries avec printf...

General_Q Messages postés 169 Statut Membre -  
Yoan Messages postés 11905 Statut Modérateur -
Bonjour,

Une boucle dans laquelle il y a un delai d'une seconde et ensuite une instruction printf...

ex:
while ( condition)
{
delay_1s();
printf("\ntemps restant...(hh:mm:ss)", %02d:%02d:%02d);
...
...
};

Cela fait defiler a l'ecran qqch comme
temps restant..00:01:25
temps restant..00:01:24
temps restant..00:01:23

et ainsi de suite...;

Si maintenant, je prefere avoir cet affichage sur une seule ligne, il suffit de remplacer le parametre \n par \r
printf("\rtemps restant...(hh:mm:ss)", %02d:%02d:%02d);
et la....plus d'affichage...ou plutot un truc totalement deconnant alors que ca devrait s'afficher sur une seule ligne !!!

Qqun a deja rencontré un comportement comme ca ou c'est moi qui me plante?
( pour info, le source a été saisi et compilé aec Code::blocks sous Linux Mandriva

2 réponses

General_Q Messages postés 169 Statut Membre 4
 
Ooops

lire

printf("temps restant...(hh:mm:ss) %02d:%02d:%02",h,m,s);
0
Yoan Messages postés 11905 Statut Modérateur 2 332
 
Force le vidage du tampon avec fflush(stdout); après le printf, ça devrait fonctionner.
0