ในปัญหานี้ เราต้องสร้างโปรแกรมที่ไม่จบการทำงานเมื่อกด Ctrl+C แต่จะพิมพ์ข้อความ
"Ctrl + C cannot terminate the program"
สำหรับเรื่องนี้ เราสามารถใช้ Signal Handling ได้ สัญญาณ SIGINT จะถูกสร้างขึ้นเมื่อกด Ctrl+C เพื่อแก้ปัญหานี้ เราจะจับสัญญาณนี้และจัดการมัน
โปรแกรมแสดงการนำไปใช้ของวิธีแก้ไขของเรา
ตัวอย่าง
#include <stdio.h>
#include <signal.h>
void signalHandle(int sig_num) {
signal(SIGINT, signalHandle);
printf("\n Ctrl + C cannot terminate the program\n");
fflush(stdout);
}
int main (){
signal(SIGINT, signalHandle);
while(!0)
return 0;
}
ผลลัพธ์
Ctrl + C cannot terminate the program