【发布时间】:2021-04-01 03:36:01
【问题描述】:
readline遇到Ctrl+C需要退出。
if (chkCmd(1, farg[0], "INPUT$")) {
cerr = 0;
ftype = 1;
if (fargct > 1) {cerr = 3; goto fexit;}
if (fargct == 1 && fargt[1] != 1) {cerr = 2; goto fexit;}
outbuf[0] = 0;
char* tmp = NULL;
if (fargct == 1) {
tmp = readline(farg[1]);
} else {
tmp = readline("?: ");
}
if (tmp != NULL) {
copyStr(tmp, outbuf);
free(tmp);
}
if (debug) printf("input output: {%s}\n", outbuf);
goto fexit;
}
如果不修改 readline 的源代码(我想不惜一切代价避免),我不知道如何做到这一点。我尝试过rl_set_signals(); 和rl_clear_signals();,但这些都不起作用。
我在 Google 上进行了无数次搜索,却得到了不相关的结果,所以我认为这个问题是第一次。
【问题讨论】: