1 분 소요

📄main 함수의 매개변수

  • 간혹 int main에 인자값이 int argc, char** argv 같은게 있는데 이것이 명령인수를 통해 넘겨주는 인자값들 이다.
    • argc : 명령줄 인수의 개수
    • argv : 명령줄 인수의 문자열 배열
      • 첫번째 값은 실행경로가 들어간다.
  • 그러나 main 함수는 최초 시작 진입점인데 정보를 어떻게 넘겨주는 것일까?
  • 그것에 대해서 알아보도록 하겠다.

📄명령인수(command line argument) 전달하기

🔍Visual Studio

  • 명령인수(Command-line arguments) 란 외부에서 전달하는 입력 값들을 뜻한다.
  • 이 값들이 main 함수에 매개변수로 들어오는 값들이다.
  • 이렇게 명령 인수를 전달하는 방법 중 하나는 Visual Studio로 전달하는 방법이 있다.

🔍명령인수 설정법

  • 프로젝스 속성 페이지 > 구성 속성 > 디버깅 으로 이동한다.
  • 명령인수를 넣어준다.
    image프로젝스 속성 페이지 > 구성 속성 > 디버깅

  • 아래처럼 명령인수를 출력을 할 수 있다.
#include <iostream>
using namespace std;

int main(int argc, char** argv)
{
	// 명령인수의 개수
	std::cout << "argc : " << argc << std::endl;

	// 명령인수의 문자열 출력
	for (int i = 0; i < argc; i++) {
		std::cout << argv[i] << std::endl;
	}
	return 0;
}

  • 출력값을 보면 5종류의 명령인수를 적었지만 6개가 출력되는 것을 볼 수 있다.
  • 왜냐하면 명령인자의 첫번째 값은 실행 경로가 들어가기 때문이다.
    image명령인수 출력 결과

🔍exe 파일로 넘겨주기

  • 비주얼 스튜디오 명령인수 뿐만 아니라 다른 방식으로도 main에 인자를 넘길 수 있다.
  • 그것은 .exe 파일을 실행할때 명령인수를 넘겨주며 실행하는 방법이다.
  • cmd에서 exe 파일을 실행하고자 할때 뒤에 명령인수로 넘겨줄 인자값들을 적어준다.

imageexe 출력 결과



댓글남기기