Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

닌자고양이

[C/C++] ctrl+c 감지하기 본문

C C++

[C/C++] ctrl+c 감지하기

닌자고양이 2019. 12. 3. 20:40

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");
}

 

Comments