gpt4 book ai didi

c - 使用来自 Ctrl+C 的 SIGINT

转载 作者:太空狗 更新时间:2023-10-29 17:24:37 26 4
gpt4 key购买 nike

好吧,所以我正在使用 sighandler 来解释一些信号,为此它是 Ctrl+C,所以当 Ctrl输入 +C 将采取一些行动,一切都很好,但我真正需要的是在输入/输出中不出现 ^C 的情况下发生这种情况

例如假设我有这段代码

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

void siginthandler(int param)
{
printf("User pressed Ctrl+C\n");
exit(1);
}

int main()
{
signal(SIGINT, siginthandler);
while(1);
return 0;
}

输出将是

^C用户按下了Ctrl+C

我怎么能把它变成简单的

用户按下了 Ctrl+C?

最佳答案

您可以使用 curses 库的“noecho()”调用实现此效果——但您也必须愿意接受(和/或使用)curses 终端处理...

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

#include <curses.h>

void siginthandler(int param)
{
endwin();
printf("User pressed Ctrl+C\n");
exit(1);
}

int main()
{
initscr();
noecho();
signal(SIGINT, siginthandler);
while(1);
return 0;
}

关于c - 使用来自 Ctrl+C 的 SIGINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4201295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com