Ich habe hier Code, der als Countdown-Timer funktioniert, aber Ergebnisse in einer neuen Zeile wie folgt ausgibt:
10
9
8
7
6
5
4
3
2
1
hier ist mein Code:
int timer()
{
int count;
count = 10;
while(count != 0)
{
printf("Time: \t%d \n", count);
count--;
sleep(1);
}
printf("\nCount down timer has expired\n");
return 0;
}
Was ich bisher versucht habe, ist \n in \r zu ändern, um in einer einzigen Zeile zu drucken, aber es hat nicht funktioniert. Ich versuche, die Zeile klar zu machen und die nächste Zahl in der Zeile zu drucken, dann lösche das und drucke die nächste, wenn das Sinn macht
Versuchen Sie, fflush(stdout)
nach der Verwendung \r
in Ihrem printf
wie von pmg erwähnt hinzuzufügen:
int timer()
{
int count;
count = 10;
while(count != 0)
{
printf("Time: \t%d \r", count);
fflush(stdout);
count--;
sleep(1);
}
printf("\nCount down timer has expired\n");
return 0;
}
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen