닌자고양이
[C/C++] ctrl+c 감지하기 본문
windows
#include <stdio.h>
#include <conio.h>
int main(void)
{
int c = 0;
while (c != 3)
{
c = _getch(); // ctrl+c 입력시 ascii code 3 (End Of Text) 반환
printf("getch %d\n", c);
}
printf("break\n");
}
linux
#include <stdio.h>
#include <signal.h>
bool m_break = false;
void OnSignal(int sig) // 콘솔 ctrl+c 입력시 인터럽트 발생
{
signal(sig, SIG_IGN);
printf("break\n");
m_break = true;
}
int main(void)
{
signal(SIGINT, OnSignal); // 인터럽트 시그널 콜백 설정
while (!m_break)
{
int c = getchar();
printf("getchar %d\n", c);
}
system("pause");
}
'C C++' 카테고리의 다른 글
[C/C++] 공백으로 구분된 정수 배열 입력 받기 (split) (0) | 2020.01.20 |
---|---|
[C/C++] 콘솔에 확장 아스키 문자 출력 (0) | 2019.12.04 |
[C/C++] 369 (0) | 2019.10.31 |
[C/C++] 소수 구하기 - 에라토스테네스의 체 (0) | 2019.10.28 |
[C/C++] 정수를 문자열로 변환 (진수 변환 포함) (0) | 2019.10.27 |
Comments