[C++ 언어-기초실습-20] system()함수 다루기

in #kr-dev5 years ago

[C++ 언어-기초실습-20] system()함수 다루기



오늘의 주제는 system()함수를 다루는 실습입니다. system()함수는 시스템 명령을 수행하는 함수입니다. 지금까지는 콘솔 프로그램에서 마지막 라인에 system("pause") 명령으로 배치 파일 처리를 보류 하는 상태가 되도록 하는 명령으로 잠시 대기모드가 되게 했을 때 자주 사용하는 명령어였습니다. C 에디터에서 실행하면 마지막 대기모드가 자동으로 되지만 실행파일을 만들고 나서 실제 실행파일을 클릭하여 실행하면 동작 명령을 수행 한 후 자동으로 창이 종료가 됩니다. 그걸 막기 위해 system("pause")함수로 대기상태를 만들어 종료를 잠시 멈추게 해주는 효과로 단순하게 사용해 왔었습니다. 오늘 시간은 좀 더 깊게 system()함수를 이용하여 콘솔창에서 cmd 명령어들을 사용하는 방법을 간단히 실습을 해볼까 합니다.

1. cmd 명령어 모움



구글 크롬에서 "cmd 명령어 모움"이라고 키워드를 치시면 다양한 post를 보실 수 있을 거에요. 그 중 위에 소개한 제타위키에 가시면 쉽게 명령어들을 소개하고 있어 보기 편하실 거에요.

a1.jpg

이곳 사이트에 가서 저도 기초적인 것만 사용했었는데 다양한 명령어들이 있어 한번씩 해봤네요. 여러분들도 한번씩 테스트 해보시기 바랍니다.

2. system()함수 실습


이제 것 그냥 사용했던 명령어

[소스]

#include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char** argv) {
    cout<<"Hello World!"<<endl;
    system("pause");

    return 0;
}

[결과]
a2.jpg

위 그림처럼 잠시 대기 상태가 되어 프로그램 종료가 안되게 해줍니다. 아마 과제물을 실습 파일로 제출할 때 이 명령어쓰고 제출을 많이 하셨겠죠.

이제 제타위키에서 정리된 cmd 명령어들 중 몇개만 실습을 해보겠습니다.


  • 조건 : 메모장 띄우기

[소스]

 int main(int argc, char** argv) {
    system("notepad");
    return 0;
}

[결과]
a3.jpg

그럼 explorer로 열어 볼까요.

system("explorer.exe");

메모장에서는 확장자를 생략했었고 이번에는 확장자를 넣어 보았습니다. 어떤 대상을 실행 할 것인지 명확하게 풀네임을 다 적는게 좋겠죠.

[결과]
a4.jpg


  • 조건 : 콘솔창의 배경과 글자색 바꾸기

다음 실습 내용은 콘솔창에 배경과 글자를 바꾸는 실습입니다. 제타위키에 보시면 COLOR 라는 명령어가 있습니다. 이 명령어를 통해 콘솔창의 배경과 글자를 바꿀 수 있습니다.

[기본출력 모습]
a6.jpg
[소스]

#include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char** argv) {
    cout<<"Hello World!"<<endl;
    system("COLOR f0");
    return 0;
}

[결과]
a5.jpg

마무리


system()함수는 우리가 윈도우 창에서 콘솔창을 띄워 cmd 명령을 내리는 과정을 이 함수 하나로 다이렉트 명령을 내릴 수 있습니다. 이걸 이용하면 다양한 명령들을 c 코딩에서 내릴 수 있겠죠. 제타위키에서 정리 된 cmd 명령들을 보시고 여러분들도 위에 소개한 실습 내용 말고 다른 명령어로 실습을 해보세요.


Sponsored ( Powered by dclick )

dclick-imagead

Sort:  

cmd 명령어 종류가 많네요..! 공유프린터 연결할 때 ip 보는 용도로만 사용해봤네요.. 오늘도 좋은 글 감사해요!

Posted using Partiko Android

윈도우에서 콘솔창 띄우고 cmd 명령을 내리잖아요. 그 명령어를 c코딩으로 system()함수로 다이렉트로 내릴 수 있어 재밌는 명령을 내릴 수 있어 괜찮아요.

Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.

Thank you