C scr_restore功能不起作用

时间:2015-02-13 21:11:34

标签: c curses

大家好我正在写这个程序" can"能够恢复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();
        }

1 个答案:

答案 0 :(得分:0)

您应该在refresh()来电后向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;
}

您应该看到一个空白屏幕,然后在按下某个键后,看到您的"Testing 123"消息。 scr_dump()scr_restore()都可能失败,因此显然您应该检查返回值。