Ich schreibe einen Wecker in c und ich versuche, eine Textzeile zu aktualisieren, ohne eine neue Zeile zu drucken.Text aktualisieren, ohne eine neue Zeile zu drucken c
#include <stdio.h>
#include <time.h>
int main(int argc, char *argv[])
{
time_t timer;
char buffer[26];
struct tm* tm_info;
void delay(unsigned int mseconds)
{
clock_t goal = mseconds + clock();
while (goal > clock());
}
while(1){
time(&timer);
tm_info = localtime(&timer);
strftime(buffer, 26, "%Y-%m-%d %H:%M:%S", tm_info);
/* puts(buffer);*/
puts(buffer);
delay(1000);
}
}
Dies wird die Zeit und das Datum drucken und drucken neue Zeilen gibt es eine Möglichkeit, ich könnte alles auf der gleichen Linie aktualisieren?
Lesen 'man puts': Diese Funktion fügt am Ende immer eine neue Zeile hinzu. Sie sollten 'fputs()' verwenden. – DyZ
Bei einigen Terminals bewegt der "Wagenrücklauf" (CR) oder "\ r" den Cursor zum Anfang der Zeile. Aber es wird nicht überall funktionieren. –
Perfekte Gelegenheit, mehr über [ANSI-Escape-Codes] zu erfahren (https://en.wikipedia.org/wiki/ANSI_escape_code) – MateoConLechuga