관리 메뉴

드럼치는 프로그래머

[C/C++] <stdlib.h>의 system() 함수, 명령 프롬프트 (1) 본문

★─Programing/☆─C | C++

[C/C++] <stdlib.h>의 system() 함수, 명령 프롬프트 (1)

드럼치는한동이 2009. 1. 23. 02:18

system() 함수의 사용법을 잘 몰라서 고생하시는 분들이 많은 것 같습니다.

 

system() 함수는 stdlib.h에 정의되어 있으며, 운영체제로 명령을 내려주는 역할을 합니다. (정확한 표현인지는 모르겠습니다.)

 

윈도우의 경우, 명령 프롬프트로 명령을 내리게 됩니다. 리눅스 따위의 텍스트 계열의 운영체제들은 운영체제의 명령어와 같습니다.

 

이제 윈도우 명령 프롬프트의 사용법을 알아보겠습니다.

 

윈도우에서는 이 명령 프롬프트 프로그램을 C:\WINDOWS\system32\cmd.exe 로 제공하고 있습니다. XP 사용자라면 시작 - 실행 - cmd입력으로 띄울 수 있습니다.

 

이 곳에 있는 명령어들의 도움말은 help명령어에 있습니다. 수십 개의 명령어들이 뜨지만, 실제로는 이 외에도 더욱 많이 있습니다.

 

먼저, 다른 프로그램 실행법을 알아보겠습니다.

 

여기서 잠깐!! 이곳에서 내릴 수 있는 명령은 path명령어를 치면 알 수 있습니다. 그 곳에 나타난 경로들에 있는 파일들은 명령 프롬프트에서 파일 이름 입력만으로도 그 파일을 열 수 있습니다.

 

명령 프롬프트는 exe등의 실행 파일 등등의 파일은 확장자가 붙지 않아도 실행할 수 있습니다. C:\windows\system32 에 자신이 만든 프로그램을 옮겨 보세요.

 

그 다음, 명령 프롬프트 창에 그 프로그램의 이름. 확장명을 제외한 이름을 입력하고 enter키를 눌러보세요.

 

그 프로그램이 실행되는 것을 볼 수 있습니다.

 

help 명령어에 있는 명령어들도 입력해보세요. 우선, CLS라고 입력하면, 화면이 깨끗하게 지워지고, 다시 명령 입력하는 곳이 나타날 것입니다.

 

윈도우에서는 대소문자가 비슷하게 취급됩니다. 예를 들어, a.txt라는 파일과 A.txt라는 파일이 같은 폴더에 있다면 윈도우즈에서는 안 된다고 오류 창을 띄웁니다. 따라서, 명령 프롬프트에서도 대소문자를 가리지 않고 사용할 수 있습니다.

 

이번에는 작업 디렉토리를 이동하는 방법을 알아봅시다. C프로그램상에서는 기능이 안되지만, 프로그램을 보다 효과적으로 실행하기 위해서 필요합니다.

 

처음 시작 - 실행 - cmd입력으로 들어가면, 명령 입력하는 곳 앞에 c:\documents and settings\사용자 이름>   이 되어 이는 것을 볼 수 있습니다. 이것은, 현재 창에서 작업하는 디렉토리, 즉 폴더의 주소를 나타냅니다. 이 폴더는 기본적으로 명령을 내리면 탐색하는 폴더가 아니지만, 이렇게 되어 있는 상태에서는 그 곳에 있는 파일을 실행할 수 있습니다. 물론 실행할 수 있는 모든 파일은 "전체경로"를 입력하면 실행할 수 있지만, 간단하게 파일 이름만으로 실행할 수 있다는 점이 장점입니다.

 

"전체경로"란, 드라이브 이름부터 파일의 이름까지의 주소를 모두 적는 것을 말합니다.

시작 - 실행에서 cmd라고 쳐도 명령 프롬프트가 뜨지만, c:\windows\system32\cmd.exe 라고 쳐도 뜨는 것과 마찬가지입니다.

 

이렇게 작업 디렉토리를 이동시켜 주는 기능이 바로 CD입니다. CD c:\windows\system32 라고 입력해 보세요.

 

그러면 이제 입력 칸 앞의 문자열이 C:\WINDOWS\system32> 로 바뀌어 있는 것을 볼 수 있습니다.

 

CD는 Change Directory의 약자로, 디렉토리 변경이라는 뜻을 갖고 있습니다.

 

CD의 장점은 띄어쓰기를 큰따옴표로 묶을 필요가 없다는 것입니다. C프로그램에서도 문자열을 전달할 때는 큰따옴표가 필요하지만, CD는 CD c:\test directory 라고 입력해도 C:드라이브의 test directory라는 폴더로 이동하게 됩니다.

 

CD는 "상대경로"이동도 가능합니다. "상대경로"란, 예를 들어, C:\a\b\c라는 폴더에 d라는 폴더가 있다면, c에게 b와 d는 상대경로를 입력하여 이동할 수 있습니다. 이 경우, CD d라는 명령을 내릴 수 있습니다. 그렇다면 b라는 폴더로 올라가려면 어떻게 해야 할까요?

 

이럴 때는 CD .. 이라고 입력하면 됩니다. ..은 상위 디렉토리를 의미합니다.

 

다음 시간에는 CLS, DIR, CHKDSK, MKDIR, RMDIR, DEL명령어들을 올리겠습니다.

 

명령 프롬프트 강좌 1 끝.


'★─Programing > ☆─C | C++' 카테고리의 다른 글

[C/C++] void 와 return에 대해서  (0) 2009.01.29
[C/C++] ZeroMemory() , memset() 차이  (1) 2009.01.29
[C/C++] C언어 이야기  (0) 2009.01.19
[C/C++] C언어의 특징  (0) 2009.01.13
[C/C++] C 코드 최적화하기 v0.1  (1) 2009.01.13
Comments