[Visual Studio] 명령인수 개념과 exe파일에서 넘겨주는 법
📄main 함수의 매개변수
- 간혹 int main에 인자값이
int argc, char** argv
같은게 있는데 이것이 명령인수를 통해 넘겨주는 인자값들 이다.- argc : 명령줄 인수의 개수
- argv : 명령줄 인수의 문자열 배열
- 첫번째 값은 실행경로가 들어간다.
- 그러나 main 함수는 최초 시작 진입점인데 정보를 어떻게 넘겨주는 것일까?
- 그것에 대해서 알아보도록 하겠다.
📄명령인수(command line argument) 전달하기
🔍Visual Studio
- 명령인수(Command-line arguments) 란 외부에서 전달하는 입력 값들을 뜻한다.
- 이 값들이 main 함수에 매개변수로 들어오는 값들이다.
- 이렇게 명령 인수를 전달하는 방법 중 하나는 Visual Studio로 전달하는 방법이 있다.
🔍명령인수 설정법
프로젝스 속성 페이지 > 구성 속성 > 디버깅
으로 이동한다.- 명령인수를 넣어준다.
프로젝스 속성 페이지 > 구성 속성 > 디버깅
- 아래처럼 명령인수를 출력을 할 수 있다.
#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개가 출력되는 것을 볼 수 있다.
- 왜냐하면 명령인자의 첫번째 값은 실행 경로가 들어가기 때문이다.
명령인수 출력 결과
🔍exe 파일로 넘겨주기
- 비주얼 스튜디오 명령인수 뿐만 아니라 다른 방식으로도 main에 인자를 넘길 수 있다.
- 그것은 .exe 파일을 실행할때 명령인수를 넘겨주며 실행하는 방법이다.
- cmd에서 exe 파일을 실행하고자 할때 뒤에 명령인수로 넘겨줄 인자값들을 적어준다.
exe 출력 결과
댓글남기기