Я пишу будильник в c, и я пытаюсь обновить строку текста без печати новой строки.обновить текст без печати новой строки 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);
}
}
Это напечатает время и дату и сохранит печать новых строк, есть ли способ, чтобы я мог обновить все на одной линии?
Читать 'man puts': эта функция всегда добавляет новую строку в конец. Вы должны использовать 'fputs()'. – DyZ
На некоторых терминалах «возврат каретки» (CR) или '\ r' переместит курсор к началу строки. Но он не будет работать повсюду. –
Отличная возможность узнать об [escape-кодах ANSI] (https://en.wikipedia.org/wiki/ANSI_escape_code) – MateoConLechuga