Visual Studio/C++ 기초

C++ int argc, char *argv[]

낙락장송s 2013. 12. 5. 17:44

int argc, char *argv[]는 main() 함수의 매개변수 입니다. 그동안 매개변수 없이 main() 함수를 사용했지만 main() 함수도 매개변수를 지정할 수 있습니다.

프로그램의 시작점인 main()함수에 매개변수를 전달하는 방법은 명령 프롬프트에서 프로그램을 실행할 때 명령행 인자를 통해서 합니다.

명령행 인자란 명령 프롬프트 상에서 프로그램을 실행할 때 매개변수를 적는 것을 의미합니다.

 int main(int argc, char *argv[], char *env[]);

argc - 프롬프트에서 입력한 명령행 인자의 개수

argv - 각각의 명령행 인자를 가리킬 포인터 배열

env - 프로그램을 실행하는데 필요한 환경 변수를 가리킬 포인터 배열

 

main() 함수에서 사용되는 3개의. 매개변수는 뒤쪽부터 생략 가능합니다. 프롬프트에서 명령행 인자를 입력하면 각 인자는 공백이나 탭으로 구분됩니다.

간단한 예제를 보겠습니다.

#include <iostream>
using namespace std;

void main(int argc, char *argv[]){

 int count;
 if(argc>1)
 {
 cout<< "명령행 인자의 개수 : " << argc << "\n";
 for(count=0; count<argc; count++)
  cout<< "argv[count] : " << argv[count] << "\n";
 }
 else
  cout << "명령 인수가 입력되지 않았습니다." << "\n";
}
 

명령 프롬프트를 열고 방금 컴파일한 파일명을 입력하고 몇가지 값을 입력합니다.

입력한 값이 없을 경우