gpt4 book ai didi

c++ - 终端中光标闪烁的删除,如何?

转载 作者:可可西里 更新时间:2023-11-01 16:59:44 30 4
gpt4 key购买 nike

我使用以下行在我的 C++ 程序中输出模拟的进度信息,

double N=0;
double percent=0;
double total = 1000000;
for (int i; i<total; ++i)
{
percent = 100*i/total;
printf("\r[%6.4f%%]",percent);
}

它工作正常!

但问题是我看到终端光标一直在数字之间循环闪烁,这很烦人,有人知道如何摆脱这个吗?

我见过一些程序,如 wget 或 ubuntu apt,它们也使用进度条或百分比,但它们似乎没有闪烁光标问题,我想知道它们是怎么做到的?

谢谢!

最佳答案

您可以在 DECSMDECRM 中使用 DECTCEM(DEC 文本光标启用模式)模式隐藏和显示光标:

fputs("\e[?25l", stdout); /* hide the cursor */

fputs("\e[?25h", stdout); /* show the cursor */

关于c++ - 终端中光标闪烁的删除,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10987468/

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