在ncurses中滚动数据

在ncurses中滚动数据,c,ncurses,curses,C,Ncurses,Curses,我正在学习网络课程中的一个小文本编辑器,目的是学习更多关于图书馆的知识。第一个挑战之一是实现一个适当的可滚动文本缓冲区,保留编辑功能。我创建了一个游标结构,包含屏幕坐标和缓冲区坐标。移动光标时,x和y将约束到直线和COLS max值。但是,缓冲区坐标被限制为文本文件的限制(大小和行大小) 这很有效,但我想知道是否有更好的方法。现在,每次光标移动操作都会修改两个坐标系。也许有一种方法可以在坐标之间转换,只保留一个(最好是缓冲区)?你试过用键盘吗?由于窗口不能大于终端本身,否则当if通过边缘边界时,

我正在学习网络课程中的一个小文本编辑器,目的是学习更多关于图书馆的知识。第一个挑战之一是实现一个适当的可滚动文本缓冲区,保留编辑功能。我创建了一个游标结构,包含屏幕坐标和缓冲区坐标。移动光标时,x和y将约束到直线和COLS max值。但是,缓冲区坐标被限制为文本文件的限制(大小和行大小)


这很有效,但我想知道是否有更好的方法。现在,每次光标移动操作都会修改两个坐标系。也许有一种方法可以在坐标之间转换,只保留一个(最好是缓冲区)?

你试过用键盘吗?由于窗口不能大于终端本身,否则当if通过边缘边界时,数据将丢失。pad用于通过使用新pad实现更大的数据显示。pad可以是系统内存可用的任何长度;通过窗口查看,该窗口在指定位置显示焊盘的内容。

我看不出如何使用一个坐标记录来同时处理文本和显示,因为它们不共享任何大小。我建议把形式和功能分开。函数是文本文件的细节,它的形式就是你所看到的。