代码之家  ›  专栏  ›  技术社区  ›  Maifee Ul Asad

按ctrl+d组合键,在某些输入序列后读取

  •  0
  • Maifee Ul Asad  · 技术社区  · 4 年前

    我正在尝试编写一个类似UNIX终端的程序。所以当按下Ctrl+D时,它应该退出。我正在使用以下方法读取输入:

    char input[BUFFER_SIZE];
    read(0, input, BUFFER_SIZE)
    

    我还将输出存储如下:

    int num_read = read(0, input, BUFFER_SIZE);
    //`read` is called only once. like this ^^^
    

    现在我这样做是为了检查 CTRL+D :

    if (num_read == 0)
    {
        exit(CTRL_D_EXIT);
    }
    

    现在的问题是我怎样才能抓住, CTRL+D ,在输入了一些信息之后?就像我有两种类型 asdasdas 然后 CTRL+D .然后我想敲响警钟,或者打印一行新词。我该怎么做?

    在我的例子中,它只是像往常一样继续执行块的其余部分(大小不是0)。

    下面是对大小为0的Ctrl+D的引用: https://stackoverflow.com/a/1516152/10305444

    0 回复  |  直到 4 年前
    推荐文章