C scr_还原功能不工作
大家好,我正在编写这个程序,可以恢复scr_dump;创建的转储文件;。卸载部件正在工作,但恢复部件不工作。。这样做的目的是复制标准屏幕上的任何内容,并将其复制到一个文件中,通过再次调用该文件,它应该绘制最初存在的任何内容C scr_还原功能不工作,c,curses,C,Curses,大家好,我正在编写这个程序,可以恢复scr_dump;创建的转储文件;。卸载部件正在工作,但恢复部件不工作。。这样做的目的是复制标准屏幕上的任何内容,并将其复制到一个文件中,通过再次调用该文件,它应该绘制最初存在的任何内容 int firstLoop = 0; initscr(); while (exitCounter != 1) { if (firstLoop == 0)
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();
}
您应该在printw调用后添加一个刷新调用,否则将转储一个空白屏幕
使用此代码:
#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;
}
您应该会看到一个空白屏幕,然后在按下一个键后,会看到您的消息。scr_dump和scr_restore都可能失败,因此显然您应该检查返回值。应该在什么时候进行恢复?每次调用此函数时,firstLoop都会初始化为0。当达到if语句时,它将不再是其他任何东西。张贴一封电子邮件。利润。好的,只是修复了它仍然不起作用。在我自己尝试了一些事情之后,我和你一样困惑。我找到的所有文件都说这应该行得通。在同一个函数中运行屏幕转储和恢复似乎有点奇怪,因此我将尝试更多的方法,如果我有答案,可能会发布一个真实的答案。