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

안전자산의 뜻과 종류 | 자산가치의 하락이 적고 신뢰도가 높은 자산

이미지
국제사회가 어지러운 경우, 시장 변동성이 커지고 경제 전망이 불투명해진다. 이런 경제 상황이 불안해지는 경우 사람들의 시선은 `안전자산`으로 향하게 된다. 불안한 경제의 위기 상황 속에서 내 소중한 원금을 최대한 보존할 수 있는 자산은 대표적으로 금, 달러, 국채가 있다. `안전자산`이라고 해도 가지고 있는 원금을 완전히 보존한다고 장담할 수 없지만, 가치 하락에 대한 변동성은 상대적으로 작다. 즉, 자신이 가진 자산가치의 하락이 적고, 신뢰도가 높은 자산을 의미한다. 안전자산 뜻 종류 / 금, 예금, 적금, 미국 달러 안전자산이란 무엇인가? `안전자산`의 뜻은 금융 시장의 불확실성이 커지거나 위험이 닥쳤을 때도 가치가 크게 하락하지 않고, 원금이 상대적으로 최대한 안전하게 보장될 가능성이 높은 자산을 뜻한다. 단순히 가격이 변하지 않는 것 뿐만 아니라, 필요할 때 즉시 현금화할 수 있다는 장점이 있지만, `유동성`과 채무 불이행에 따른 `신용도`가 어느 정도는 뒷받침되어야 합니다. 이런 경우 유동성과 변동폭이 큰 주식같은 투자 자산에서 돈은 빠져나오며 `안전자산`으로 돈이 다시 몰리는 현상이 발생한다. 대표적인 안전자산의 종류 안전자산의 세계에도 대장주들이 있다. 금, 달러, 국채가 그렇다. 시장 상황에 따라 선호도는 다르지만, 전 세계적으로 통용되는 대표적인 자산은 다음과 같다. 금(Gold) 인플레이션이나 화폐 가치 하락에 대비할 수 있는 대표적인 실물 자산이다. `실물`이라는 점에서 사람들의 심리적 안정감이 크다. 예금, 적금 가장 친숙한 형태의 안전자산 중 하나. 예금자 보호법에 의해 일정 금액까지 원금이 보장된다. 미국 달러(USD) 세계 기축통화인 달러는 경제 위기 시 가치가 상승하는 경향이 있다. 가장 강력한 유동성을 자랑한다. 미국 국채 미국 정부가 망하지 않는 한 원금과 이자를 보장받을 수 있다는 신뢰가 존재한다. 미국 국채의 신뢰성 덕분에 가장 안전한 국가 채권으로 분류됩니다. 안전자산 투자 시 주의사항 안전자산이 무조건 `무결점`인 것도 ...