gpt4 book ai didi

使用 fflush 的时钟不清除屏幕

转载 作者:太空宇宙 更新时间:2023-11-04 06:32:01 25 4
gpt4 key购买 nike

我正在尝试用 C 语言制作一个时钟,但是屏幕没有正确清除,它只是不断地打印到一个新行。我如何不正确地使用 fflush

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
while (1) {

time_t rawtime;
struct tm * timeinfo;

time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ("%s", asctime (timeinfo));
fflush(stdout);

}
return 0;
}

最佳答案

这会从 asctime 字符串中去除换行符,然后使用 return 将光标推回行首

#include <string.h>

int main()
{
while (1) {

time_t rawtime;
char st[30];
struct tm * timeinfo;

time ( &rawtime );
timeinfo = localtime ( &rawtime );
sprintf (st,"%s", asctime (timeinfo));
*(index(st,'\n'))='\0';
printf("\r%s",st);
flush(stdout);
sleep(1);

}
return 0;
}

关于使用 fflush 的时钟不清除屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19602930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com