gpt4 book ai didi

c - 如何在 unix 上以 C 图形方式打印到控制台

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

所以我熟悉 printf 之类的东西,但是我需要在屏幕上更新一行而不需要滚动多行。我发现库可以在 Windows (conio.h) 中执行此操作,但不能在 Unix 中执行此操作。我需要能够在 cygwin 中运行它,但欢迎任何 unix 示例。

我找到了以下 stackoverflow article ,但我认为它并没有完全满足我的需求。

谢谢你的帮助

最佳答案

这取决于你是想做一个文本模式的全屏应用程序(在这种情况下 ncurses 可能是你想要的)还是只想就地更新一行(例如,你想更新一个从 1 到 100 的“X percent done”指示器,所有输出都出现在同一行上,因此当打印 X percent done 时,它​​打印“超过”前一个 X-1 percent done 指示器)。在后一种情况下,您可以编写相对可移植且简单得多的代码。例如,像这样:

#include <windows.h>    // Used only for "Sleep" in our simulated work load
#include <stdio.h>

void do_work() {
// Simulated work load. Just waste some time:
Sleep(100);
}

int main() {
for (int i=0; i<100; i++) {
char buffer[82];
sprintf(buffer, "%d percent done", i+1);
printf("\r%-79s", buffer);
do_work();
}
return 0;
}

关于c - 如何在 unix 上以 C 图形方式打印到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5073695/

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