Prosto

프로그램 일시정지, PAUSE -C언어 본문

Programing/C Programing

프로그램 일시정지, PAUSE -C언어

Prosto 2016. 9. 27. 15:53

이번에 우리가 살펴볼 것은 system("PAUSE");입니다.

 

이 함수를 통해 우리는 말 그대로 일시정지 기능을 사용할 수 있습니다.

 

 

이 함수는 어떤 때에 사용될까요?

 

 바로 일시적으로 결과를 지연시키고 싶은 경우,

 혹은 프로그램을 생성(빌드)exe 파일을 실행시켰더니

 이 실행 파일이 나타나자마자 곧바로 꺼지는 경우

 간단하게 system("PAUSE");만 추가해준다면 결과를 확인할 수 있을 것입니다.

 

 

이제 간단한 예제로 확인해볼까요?

 

(예제 소스1)

이런 소스라면 어떤 결과가 나올 것 같나요?

출력과 출력 사이에 system("PAUSE");가 위치하고 있는 게 보이시죠?

 

 

 

먼저, "일시정지 합니다."라고 출력(printf)이 됐습니다.

 

그 이후,

계속하려면 아무 키나 누르십시오 . . .

이라고 출력됐죠?

 

이 문구가 출력되며 그 밑에 프로그램을 실행시키지 않았죠?

이게 일시정지(PAUSE)입니다.

 

( 이 문구는 사실 많이 보셨을 겁니다.

프로그램을 디버깅 없이 실행(ctrl + F5)를 하면 가장 마지막에 출력되는 문구죠.

이 때 아무키나 누르면 종료가 됐었고요. )

 

 

그렇다면 아무 키나 누르면 어떻게 될까요?

 

이처럼 소스 밑 부분에 위치하던

"일시정지가 끝났습니다"이 출력(printf)되고,

 

마지막 줄에 우리가 항상 보던

프로그램 끝에 출력되는

"계속하려면 아무 키나 누르십시오 . . ."라는 문구가 나오게 됩니다.

(그리고 키를 누르면 콘솔창이 꺼지고요.)

 

 

이렇게 system("PAUSE");를 사용하면

중간 중간 어디든 잠깐 멈춰갈 수 있습니다.

 

 

그렇다면 이해를 위해 하나만 더 봅시다.

 이런 소스라면 어떻게 실행될 것 같나요?

(예제 소스2)

 

 

한번 결과를 예상해보신 후,

생각과 같이 프로그램이 실행되는지 확인해보세요.

 

 

 

 

이렇게 이번에는 system("PAUSE")에 대하여 알아봤습니다.

필요에 따라 사용한다면 좋겠죠?

 

(exe 파일을 만들어 따로 실행해보니 실행 파일이 잠깐 나온 후 (결과 확인 전에) 꺼진다면

 마지막 줄(return 0; 바로 위)에 system("PAUSE");를 삽입해주시면

 비주얼 스튜디오에서 실행한 것과 같은 결과를 확인할 수 있습니다.)

Comments