0

我正在尝试编写一个像 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

4

0 回答 0