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