使用保存在`* inchstr()`的数据来恢复屏幕内容

时间:2015-03-04 04:43:34

标签: c ncurses curses

我需要一种方法将屏幕内容保存到缓冲区(而不是像FILE那样putwin()),以便快速进行内存保存和恢复,所以我查看了{{ 3}}并找到了Ncurses documentation系列函数,它们看起来就像我需要的那样。

所以我将数据保存在一个可以简化为:

的函数中
chtype buffer[LINES][COLS+1];
for (int line = 0; line < LINES; line++)
    mvinchnstr(line, 0, buffer[line], COLS);

问题是:如何以有效的方式这个保存的数据恢复到屏幕?

我知道我可以使用addch()的2个嵌套循环,但是不会恢复每个字符的字符会失败首先使用inchnstr()的目的吗?是add*() inchnstr()对应的chtype字符串是否以*inchnstr()字符为单位并打印出来?

如果没有,{{1}}家庭的目的是什么?是否有更好的方法来保存和恢复内存中的屏幕内容?

1 个答案:

答案 0 :(得分:3)

我认为你正在寻找addchstr and friends