我似乎找不到正确的方式来问全能的谷歌...
在命令行进度条等程序中,输出缓冲区似乎是直接操作的。它无法在任何想要的地方将字符打印到终端。如何控制程序的输出在标准C中控制?有没有我可以查询的特殊图书馆?
答案 0 :(得分:5)
答案 1 :(得分:3)
如果您只想要一个进度条,则每2%完成就可以打印一个“X”。这应该在一行上填充50个字符。
如果你想要更有趣的东西,在Linux上你可以尝试经典的“curses”库,或者如果你只是想要一个对话框,你可以尝试Debian安装实用程序使用的库,但我忘了它的名字。 / p>
答案 2 :(得分:3)
答案 3 :(得分:2)
它不是标准C的一部分。这些东西通过编写终端仿真器识别的一些特殊字符序列来处理光标定位和填充。
答案 4 :(得分:0)
这里的大猩猩是ncurses库,但你可以用较少的学习曲线做很多很酷的事情。尝试使用\r
移动到行的开头,使用简单的控制序列清除到行尾,打开和关闭粗体,等等。 tput(1)
命令非常宝贵。例如,我写了一个简单的应用程序,突出显示文本,并打开和关闭突出显示我只是调用命令tput smso
和tput rmso
。您可以使用C popen(3)
捕获结果;使用shell它更容易。
答案 5 :(得分:0)
您可以使用ANSI escape coding来控制终端输出。这就是很多MUD游戏的输出方式。