【发布时间】:2020-09-09 17:19:45
【问题描述】:
我目前正在编写一个运行优化例程的 C++ 控制台应用程序。它并行运行多个进程,并且由于需要几个小时才能完成,所以我创建了一种监视器来跟踪进程的演变。我通过在屏幕上打印表格来实现这一点,每次更改流程步骤时,文本光标都会移动到与该流程相关的行,并且较旧的文本会被较新的文本覆盖。 为了在表格行中移动,我使用“\n”将文本光标向下移动一行,使用 ESC 字符“\033[F”将光标向上移动一行。
问题在于,有时表格的行数大于适合屏幕的行数,因此有些行保持隐藏状态,需要滚动屏幕才能看到它们。当应用程序向上或向下移动文本光标时,它不能移动到隐藏的行,分别在第一条或最后一条可见行处停止。我想知道是否有某种方式可以访问超出可见屏幕区域的行。
【问题讨论】:
-
查看
ncurses库。 -
考虑一个合适的 GUI :)