Text ncurses滚动窗口的文本内容

Text ncurses滚动窗口的文本内容,text,scroll,terminal,window,ncurses,Text,Scroll,Terminal,Window,Ncurses,我正在寻找关于使用ncurses在窗口或便笺簿中滚动方法的明确答案 我想显示一个stdout流,它会快速填充屏幕上可用的行数,并开始溢出。使用stdio,终端只需滚动内容。但据我所知,对于ncurses,输出仅限于屏幕区域。这完全准确吗 通常的方法是将stdout的全部内容放入缓冲区,然后将缓冲区的特定部分读取到ncurses窗口或pad中吗?使用ncurses滚动文本还有哪些其他方法?您可能忽略了: scrollok选项控制光标移动时发生的情况 将窗的边缘移离窗的边缘,或 滚动区域,作为换行操

我正在寻找关于使用ncurses在窗口或便笺簿中滚动方法的明确答案

我想显示一个stdout流,它会快速填充屏幕上可用的行数,并开始溢出。使用stdio,终端只需滚动内容。但据我所知,对于ncurses,输出仅限于屏幕区域。这完全准确吗

通常的方法是将stdout的全部内容放入缓冲区,然后将缓冲区的特定部分读取到ncurses窗口或pad中吗?使用ncurses滚动文本还有哪些其他方法?

您可能忽略了:

scrollok选项控制光标移动时发生的情况 将窗的边缘移离窗的边缘,或 滚动区域,作为换行操作的结果 或键入 最后一行。如果禁用(bf为FALSE),光标将保留 在底线上。如果启用(bf为真),则窗口 向上滚动一行(注意 对终端的滚动效果,还需要 调用idlok)

使用它,您可以写入任何窗口,并让它像stdio一样向上滚动

进一步阅读:

像这样使用:

scrollok(win, TRUE);