调用getch()时的分段错误

时间:2018-04-15 18:27:54

标签: c++ segmentation-fault ncurses getch termux

在termux(Android Linux终端模拟器)上遇到此问题。 这是完整的代码:

#include <ncurses.h>    
int main() {
    initscr();
    getch();
    endwin();
}

然后我使用这一行编译:

g++ -lncurses prog.cpp

包是ncurses-dev 6.1.20180331(最新版本) 附:即使使用refresh(),它也无效。

1 个答案:

答案 0 :(得分:0)

如果initscr返回null,程序必须结束

如果initscr返回null,那么在程序中执行更多代码是安全的。

WINDOW * mainwin;

if ( (mainwin = initscr()) == NULL ) {
    /* Error handling here */
    exit(EXIT_FAILURE);
}

参考:

http://www.paulgriffiths.net/program/c/srcs/curin1src.html