vi、man 或 less 等程序如何处理输出?

vi、man 或 less 等程序如何处理输出?

这些命令如何输出到 stdout?我可以使用 C 中的 printf() 函数,但这只会向屏幕添加更多字符,而不是替换终端中给定位置的任何字符。

答案1

他们使用ncurses(或类似的)库:

ncurses例程为用户提供了一种独立于终端的字符屏幕更新方法,并进行了合理的优化。此实现是“新版 curses”(ncurses),是curses已停产的4.4BSD classic 的认可替代品

查看

相关内容