오늘의 주제는 system()함수를 다루는 실습입니다. system()함수는 시스템 명령을 수행하는 함수입니다. 지금까지는 콘솔 프로그램에서 마지막 라인에 system("pause") 명령으로 배치 파일 처리를 보류 하는 상태가 되도록 하는 명령으로 잠시 대기모드가 되게 했을 때 자주 사용하는 명령어였습니다. C 에디터에서 실행하면 마지막 대기모드가 자동으로 되지만 실행파일을 만들고 나서 실제 실행파일을 클릭하여 실행하면 동작 명령을 수행 한 후 자동으로 창이 종료가 됩니다. 그걸 막기 위해 system("pause")함수로 대기상태를 만들어 종료를 잠시 멈추게 해주는 효과로 단순하게 사용해 왔었습니다. 오늘 시간은 좀 더 깊게 system()함수를 이용하여 콘솔창에서 cmd 명령어들을 사용하는 방법을 간단히 실습을 해볼까 합니다.
구글 크롬에서 "cmd 명령어 모움"이라고 키워드를 치시면 다양한 post를 보실 수 있을 거에요. 그 중 위에 소개한 제타위키에 가시면 쉽게 명령어들을 소개하고 있어 보기 편하실 거에요.
이곳 사이트에 가서 저도 기초적인 것만 사용했었는데 다양한 명령어들이 있어 한번씩 해봤네요. 여러분들도 한번씩 테스트 해보시기 바랍니다.
이제 것 그냥 사용했던 명령어
[소스]
#include
#include
using namespace std;
int main(int argc, char** argv) {
cout<<"Hello World!"<<endl;
system("pause");
return 0;
}
[결과]
위 그림처럼 잠시 대기 상태가 되어 프로그램 종료가 안되게 해줍니다. 아마 과제물을 실습 파일로 제출할 때 이 명령어쓰고 제출을 많이 하셨겠죠.
이제 제타위키에서 정리된 cmd 명령어들 중 몇개만 실습을 해보겠습니다.
[소스]
int main(int argc, char** argv) {
system("notepad");
return 0;
}
[결과]
그럼 explorer로 열어 볼까요.
system("explorer.exe");
메모장에서는 확장자를 생략했었고 이번에는 확장자를 넣어 보았습니다. 어떤 대상을 실행 할 것인지 명확하게 풀네임을 다 적는게 좋겠죠.
[결과]
다음 실습 내용은 콘솔창에 배경과 글자를 바꾸는 실습입니다. 제타위키에 보시면 COLOR 라는 명령어가 있습니다. 이 명령어를 통해 콘솔창의 배경과 글자를 바꿀 수 있습니다.
[기본출력 모습]
[소스]
#include
#include
using namespace std;
int main(int argc, char** argv) {
cout<<"Hello World!"<<endl;
system("COLOR f0");
return 0;
}
[결과]
system()함수는 우리가 윈도우 창에서 콘솔창을 띄워 cmd 명령을 내리는 과정을 이 함수 하나로 다이렉트 명령을 내릴 수 있습니다. 이걸 이용하면 다양한 명령들을 c 코딩에서 내릴 수 있겠죠. 제타위키에서 정리 된 cmd 명령들을 보시고 여러분들도 위에 소개한 실습 내용 말고 다른 명령어로 실습을 해보세요.