如何在非规范模式下使用中断/终止信号?

时间:2014-11-04 10:52:40

标签: c linux ubuntu signals termios

这是一个代码,无需按回车即可获得角色。

int getch(FILE *cmd)
{
    int ch;
    struct termios buf;
    struct termios info;

    tcgetattr(0, &info);
    buf = info;
    buf.c_lflag &= ~(ICANON | ECHO); // noncanonical
    buf.c_cc[VMIN] = 1;
    buf.c_cc[VTIME] = 0;

    // buf.c_cc[VINTR];
    // buf.c_cc[VKILL];

    tcsetattr(0, TCSAFLUSH, &buf);
    ch = getc(cmd);
    tcsetattr(0, TCSAFLUSH, &info);

    return ch;
}

在此代码中,如何在非规范模式下使用中断/终止信号?

1 个答案:

答案 0 :(得分:1)

您应该尝试适当地修改c_iflag。请参阅BRKINTIGNBRK标记。