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"은 커서를 행의 시작 부분으로 이동시킵니다. 그러나 모든 곳에서 작동하지는 않습니다. –
[ANSI 이스케이프 코드] (https://en.wikipedia.org/wiki/ANSI_escape_code) – MateoConLechuga