c언어 / 엔터키 사용 콘솔 창 닫기 / 자동 닫힘 방지

C언어를 처음 공부할 때 콘솔 창이 자동으로 닫히는 경우 때문에 난감할 때가 있다.
터미널에서 직접 실행해도 되지만, 텍스트 명령어를 입력하는 것 때문에 불편함도 있다.
엔터키를 사용하여 콘솔 창 닫기 방법이 있다면 편할 것 같다.
표준 C함수 중 getchar()를 사용하면 엔터키를 사용한 콘솔 창 닫기가 가능해 진다.

c언어 / 엔터키 사용 콘솔 창 닫기 / 자동 닫힘 방지
c언어
엔터키 사용 콘솔 창 닫기
자동 닫힘 방지

불편한 콘솔 창 자동 닫힘

지금의 C언어가 자주 사용되는지는 모르겠지만, 어쨌든 처음 공부를 시작할 때 느끼는 점은 불편함에 있다.
아마도 리눅스 사용자들이라면 표준 C언어를 사용할 것이지만, 윈도우의 비주얼스튜디오를 설치하고 C언어를 컴파일 실행하면 불편하다.
또한, 공부를 위해 코드를 입력하고 실행을 시키면 콘솔 창이 나타났다 바로 사라진다.
당혹스럽지만 해결책은 있다.
`getchar()` 함수를 사용하여 입력 대기 상태로 설정하면 된다.
코드의 마지막에 해당 함수를 작성하면 프로그램의 동작이 멈추고 문자를 입력받도록 기다리도록 하는 것이다.

getchar() / 표준 C함수

getchar() 함수를 간단히 살펴보자.
getchar() 함수는 사용자가 키보드로 문자를 입력받을 때까지 대기시키는 표준 C 라이브러리이다.
프로그램이 실행 중 해당 함수를 만나면 중단하고, 사용자가 키보드를 누를 때까지 기다린다.
과거 프로그램들이 텍스트 기반으로 어떤 명령어를 입력받기 위해 자주 사용되었다.
리턴값은 int형의 숫자이며, 키보드의 엔터키를 누를 경우 종료된다.
C언어를 처음 공부할 때 콘솔 창이 자동으로 닫히는 경우 getchar() 함수를 사용하여 엔터키를 눌러 종료시키도록 할 수 있다.

  • getchar() / 표준 C 함수
    • 사용자가 키보드를 누를 때까지 대기.
    • 리턴값은 숫자.
    • 엔터키: 문자 입력의 종료.

예제 코드

예제 코드를 살펴보자.
아주 간단한 C 언어 코드이다.
실행하면 콘솔 창이 나타나고 문자열을 출력한다.
사용자로부터 어떤 문자를 입력받도록 기다린 후 엔터를 치면 프로그램이 종료되도록 하였다.
물론, 콘솔 또는 터미널에서 직접 실행하면 어떤 차이인지 보이지 않겠지만, 비주얼스튜디오에서 실행했을 경우 getchar() 입력함수를 사용해 콘솔창 자동 닫힘을 방지할 수 있다.
그리고, 엔터키를 치면 프로그램이 종료되고 콘솔창이 사라지는 것을 볼 수 있다.


#include <stdio.h>

int main(void) {

    /* 문자열 출력 */
    printf("hello, world.\n");

    /* 중단처리, 엔터키 종료 */
    printf("\n");
    printf("아무 키나 누르고 Enter를 누르세요...\n");
    int ch = getchar();
    printf("입력한 문자: %c\n", ch);

    /* 프로그램 종료 */
    return 0;
}

결과보기

비주얼스튜디오를 사용한다면 위의 코드를 입력한 후 단축키 F5를 누르면 작성된 코드를 콘솔창에 실행하는 모습을 보여줄 것이다.
그리고, 아무 키나 누르고 Enter를 누르세요...란 메세지가 나타나고 프로그램은 대기 상태에 놓인다.
사용자가 키보드를 누르기를 기다리는 것이다.
키보드를 아무거나 누르면 눌려진 키보드의 문자가 보이겠지만, 엔터키를 누르면 프로그램이 종료되며 콘솔창도 닫히는 것을 볼 수 있다.
비주얼스튜디오에서 콘솔 창의 자동 닫힘 방지를 위해 getchar() 함수를 사용할 수 있음을 알았다.

getchar() / 엔터키 입력 대기
getchar()
엔터키 입력 대기

댓글

이 블로그의 인기 게시물

귀문과 혼문 뜻 어떤 영(靈)들이 드나드는 문

윈도우 캡쳐 이미지 자동 저장 위치 찾기

구글 스프레드시트 행 높이 크기 조절하는 방법

Featured Post

신탁회사 뜻 / 다른 사람이나 조직의 자산을 관리하는 회사

이미지
부동산의 등기부등본이나 분양 관련 서류를 보면 신탁회사라는 표현을 접할 때가 있다. 부동산의 소유자 부분에 신탁회사 이름이 적혀 있으면 `왜 이 회사가 소유자로 되어 있지?`라는 의문이 생긴다. 신탁회사 를 쉽게 표현하면 다른 사람에게서 재산을 맡아 정해진 목적에 따라 관리하거나 처분하는 업무를 하는 회사 정도로 볼 수 있다. 다만, 신탁은 재산의 관리와 보관에 있어 법률의 관계가 복잡하다. 신탁회사 뜻 다른 사람이나 조직의 자산을 관리하는 회사 ▣ 단어의 뜻 신탁회사는 다른 사람이나 기관으로부터 금전, 부동산, 유가증권 등의 재산을 맡아 정해진 목적에 따라 관리, 운용, 처분하는 업무를 하는 회사이다. 신탁법에서 신탁은 위탁자가 수탁자에게 특정 재산을 이전하거나 처분하고, 수탁자가 수익자의 이익 또는 특정 목적을 위하여 그 재산을 관리, 운용, 처분하도록 하는 법률관계로 규정한다. 신탁회사는 영어로 `Trust Company`이며, 한자로 `信託會社`이다. 신탁회사 Trust Company Trust 신뢰하다, 신임하다. Company 회사 信託會社 信 믿을 신, 託 부탁하다 탁, 會 모일 회, 社 토지신 사 신탁회사 는 다른 사람이나 조직의 돈이나 재산을 관리하는 회사를 의미하지만, 신탁( Trust , 信託 )이란 표현을 사용한 것을 보면, 서로간의 신뢰관계를 기반으로 하고 있다는 것을 볼 수 있다. 즉, 신탁회사는 어떤 사람 또는 기관의 재산이나 권리를 믿고 맡기고, 운용하는 회사를 뜻한다. 보통, 금융투자업자를 `신탁업자`이기도 하다. 신탁회사 - 단어의 뜻 ▣ 신탁회사 역할 신탁회사 는 고객이 맡긴 재산을 목적과 계약 내용에 따라 관리, 운용, 처분하는 회사를 뜻한다. ` 자본시장과 금융투자업에 관한 법률 `에서는 ` 신탁업자 `를 금융투자업자 중 신탁업을 영위하는 자로 규정하고 있으며, ` 신탁업 `을 영위하려면 금융위원회의 금융투자업 인가를 받아야 한다. 신탁 의 기본 구조는 재산을 맡기는 위탁자 , 재산을 맡아 관리하는 수탁자 , 신탁으로부터 ...