웹사이트 검색

C++에서 system(pause) 명령 사용


이 기사에서는 C++에서 system("pause”) 명령을 사용하는 방법을 살펴보겠습니다.

이 문서를 살펴보기 전에 system(\pause\) 명령은 Windows 시스템에서만 사용할 수 있다는 점에 유의하십시오.

즉, Linux/Mac 시스템에서는 이것을 사용할 수 없습니다.

시스템() 명령

system("pause”) 명령을 살펴보기 전에 system()이 무엇을 하는지 이해합시다.

#include <cstdlib>

int system(const char *command);

system() 함수는 운영 체제를 호출하여 특정 명령을 실행합니다.

<cstdlib> 헤더 파일을 포함해야 합니다.

이는 터미널을 열고 해당 명령을 직접 실행하는 것과 매우 유사합니다.

예를 들어 Linux에서 "ls\ 명령을 사용하려면 system(\ls\)를 사용할 수 있습니다.

Linux/Mac 시스템이 있는 경우 아래 코드를 시도해 볼 수 있습니다.

#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
    // Try the "ls -l" command from your Linux / Mac machine
    int ret = system("ls -l > test.txt");
    return 0;
}

가능한 출력

total 16
-rwxr-xr-x 1 2001 2000 9712 Jun 25 21:11 a.out
-rw-rw-rw- 1 2001 2000  209 Jun 25 21:11 main.cpp
-rw-r--r-- 1 2001 2000    0 Jun 25 21:11 test.txt

이제 우리는 system()이 무엇을 할 수 있는지에 대해 약간 명확해졌으므로 system("pause”) 명령을 살펴보겠습니다.

C++에서 system(pause) 명령 사용

이것은 pause 프로그램을 실행하도록 OS에 지시하는 Windows 관련 명령입니다.

이 프로그램은 종료될 때까지 대기하고 부모 C++ 프로그램의 실행을 중지합니다. 일시 중지 프로그램이 종료된 후에만 원래 프로그램이 계속됩니다.

Windows 시스템을 사용하는 경우 아래 코드를 실행할 수 있습니다.

#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
    for (int i=0; i<10; i++) {
        cout << "i = " << i << endl;
        if (i == 5) {
            // Call the pause command
            cout << "Calling the pause command\n";
            system("pause");
            cout << "pause program terminated. Resuming...\n";
        }
    }
    return 0;
}

출력 - Windows 시스템에서

i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
Calling the pause command
Press any key to continue . . .
pause program terminated. Resuming...
i = 6
i = 7
i = 8
i = 9

E:\Programs\sample.exe (process 14052) exited with code 0.

관찰할 수 있듯이 if 조건 i = 5일 때 pause 명령이 실제로 실행되었습니다.

Enter 키를 누른 후 일시 중지 프로그램을 종료하고 C++ 프로그램에서 루프를 다시 시작했습니다!

system(pause) 명령 사용의 단점

system("pause”)의 주요 함정은 이것이 플랫폼에 따라 다르다는 것입니다. 이것은 Linux/Mac 시스템에서 작동하지 않으며 이식성이 없습니다.

이것은 Windows 시스템에 대한 해킹의 일종으로 작동하지만 이 접근 방식은 다른 시스템에서 코드를 실행하려고 할 때 쉽게 오류를 일으킬 수 있습니다!

따라서 신호 처리기 사용과 같이 프로그램을 일시 중지하고 다시 시작하는 다른 대체 방법을 제안합니다.

결론

이 기사에서는 C++에서 system("pause”) 명령을 사용하는 방법을 배웠습니다. 유사한 내용을 보려면 C++ 프로그래밍에 대한 자습서 섹션을 참조하십시오!

참조

  • C++의 system()에 대한 cppreference.com 페이지