在while循环中如何检测到用户输入是[Control] + [D]

问题描述 投票:0回答:1

如何检测用户是否按下[control + D]

我正在写一个shell。外壳必须始终打印“>”。我正在尝试执行新命令-> [control + d]当用户按下[控制]按钮[+]和[D]按钮外壳应该退出

这里是sudo代码

int user_press_control_D = 0;
while(user_press_control_D == 0){
  running();
  detect(user_input);
  if user_input == (Control + D){
  user_press_control_D = 1; //quit 
  }
}

如何实际编写/检测/检查用户是否按下(Control + D)

c shell terminal controls exit
1个回答
-1
投票

Trap命令应该执行此工作。

调整代码以捕获EOF(ctrl + d)并捕获信号

陷阱'echo“ ctrl + d按下”'0陷阱“ 2

读取数据时;做回声“做你的工作”完成

© www.soinside.com 2019 - 2024. All rights reserved.