【发布时间】:2011-01-29 21:54:11
【问题描述】:
如何在 C 中实现 Ctrl-C 和 Ctrl-D 的信号处理......所以如果按下 Ctrl-C,那么程序将忽略并尝试再次从用户那里获取输入......如果 Ctrl -D 被按下然后程序将终止...
我的程序如下:
int main(){
char msg[400];
while(1){
printf("Enter: ");
fgets(msg,400,stdin);
printf("%s\n",msg);
}
}
谢谢,
戴夫
【问题讨论】:
-
我不会推荐这个。在很少的情况下,我能想到让程序覆盖 Ctrl-C 的 kill 功能是一个好主意 - 远程连接工具,如 SSH 就是其中之一。
-
这只是为了了解如何处理信号
-
任何类型的解释程序都应该捕获 ctrl-C 以中止托管程序,如果它正在运行。