티스토리 뷰

 C언어를 사용하여 콘솔(Console)창에 무엇인가를 출력하고, 무엇인가를 입력받는 작업들을 기본적으로 수행합니다. C언어 콘솔창에 무엇인가를 띄우면 누적되어 출력됩니다. 그렇게되면 가독성 또한 떨어지고 우리가 일반적으로 사용하는 프로그램과는 거리가 있습니다. 따라서 콘솔창에 누적되어 출력되는 결과물들을 때로는 지워줄 필요가 있는데 어떻게 해야되할까요? 그래서 오늘은 'C언어 콘솔 화면지우기'에 대해 소개하려고 합니다.

 C언어를 비롯한 모든 언어는 내장함수를 가지고 있습니다. 따라서 내장함수를 알고 있으면 쉽게 프로그램을 만들 수 있습니다. 반대로 내장함수의 수는 너무 많기에 모두 외우고 있을 수 없습니다. 따라서 많은 내장함수를 다뤄보고, 원하는 내장함수를 찾을 수 있는 것이 좋은 프로그래머의 자세라고할 수 있습니다.

◇ C언어 콘솔 화면지우기


C언어의 콘솔창 화면을 지우기 위해서는 기본적으로 <windows.h>를 이용하여야 합니다. 따라서 코드작성시 전처리기에서 windows.h헤더파일을 우선적으로 불러와야 합니다.

 windows.h헤더파일을 불러왔다면 어떤 내장함수를 이용해야할까요? 바로 system("cls");입니다. 그럼 예제코드를 통해 결과물을 비교해볼까요? 기본적인 helloWorld출력으로 비고해보겠습니다.


1)  기본적인 HelloWorld 출력하기

1
2
3
4
5
6
7
#include <stdio.h>
 
int main( void ){
    printf"HelloWorld" );
printf"HelloWorld" );
 
    return 0;
}


 HelloWorld가 누적되어 두번 출력되고 있는 것을 보실 수 있죠? 그렇다면 화면지우기 system("cls");를 사용하면 어떨까요?

2) 화면지우기 HelloWorld출력하기

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <windows.h>
 
int main( void ){
    printf"HelloWorld" );
    system( "cls" );
    printf"HelloWorld" );
 
    return 0;
}



 HelloWorld가 한번만 출력되는 것을 보실 수 있습니다. 이는 HelloWorld가 한번만 출력되는 것이 아니라, 이미 한번 출력이 되고, 화면이 지워진 후 두번째 HelloWorld를 출력한 것입니다.


 system( "cls" );를 이용하실때 지난번 소개해드린 Sleep();함수로 딜레이를 주게되면 조금더 매끄럽게 진행시킬 수 있겠죠? C언어는 모든언어의 기본이되는 언어이니 가급적 많이 활용해보시고, 확실히 익혀두셨으면 좋겠습니다.

※공감은 블로거에게 큰힘이 됩니다.

댓글