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