大家好,我正在编写这个程序,它能够恢复由scr_dump();创建的转储文件。转储部分工作正常,但恢复部分不工作。这样做的目的是复制标准屏幕上的任何内容,并将其复制到一个文件中,通过再次调用该文件,它应该绘制最初在那里的任何内容。
int firstLoop = 0;
initscr();
while (exitCounter != 1)
{
if (firstLoop == 0)
{
printw("Testing 123");
scr_dump("test");
clear();
firstLoop = 1;
exitCounter = 1;
}
}
scr_restore("test");
doupdate();
refresh();
getch();
endwin();
}发布于 2015-02-14 07:39:57
您应该在printw()调用之后添加一个对refresh()的调用,否则您将转储一个空白屏幕。
使用以下代码:
#include <curses.h>
int main(void) {
initscr();
noecho();
printw("Testing 123");
refresh();
scr_dump("test");
clear();
getch();
scr_restore("test");
doupdate();
refresh();
getch();
endwin();
return 0;
}您应该会看到一个空白屏幕,然后在按下一个键后,会看到您的"Testing 123"消息。scr_dump()和scr_restore()都可能失败,因此显然您应该检查返回值。
https://stackoverflow.com/questions/28508809
复制相似问题