C++ Chapter 7.13 : 명령줄 인수
카테고리: Cpp
태그: Cpp Programming
인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 C++ 강의를 듣고 정리한 필기입니다. 😀
🌜 [홍정모의 따라 하며 배우는 C++]강의 들으러 가기!
chapter 7. 함수 : 명령 줄 인수
command line 혹은 명령 프롬프트에서 command line을 통해 프로그래머가 직접 main 함수로 넘길 인수를 입력하여 프로그램을 실행할 때 사용한다.
🔔 command line 입력 방법
- 명령 프롬프트
- 윈도우 검색창에 cmd 치면 명령 프롬프트가 나온다.
- 실행하려는 프로젝트가 있는 로컬 폴더로
cd
명령어를 통해 이동한 후 명령 줄 인수를 입력하면 된다.
- 비주얼 스튜디오
- project 마우스 우클 > properties > Debugging > Command Arguments
- 여기서 명령 줄 인수를 입력하면 된다.
command line에서 실행할 때 실행 파일이 있는 로컬 폴더로 이동하여 .exe
확장자의 실행 파일 이름을 입력한 후 엔터치면 된다. 이때 실행시 인수로 넘겨주고 싶은게 있다면
int main (int argc, char * argv [])
main 함수를 매개변수 받는 함수로 설정하고 공백을 기준으로 하여 인수들을 같이 넘기면 된다.
🔔 argc
, argv[]
argc
- char *
argv
문자열 배열의 원소 개수가 된다. - 프로그래머가 입력하는 부분은 아니다.
- 프로그래머가 입력한
argv
개수가 자동으로 대입 됨.
- 프로그래머가 입력한
- char *
argv []
- 문자열 배열로 사용자가 command line에 입력한 인수들이 문자열로서 이 배열에 들어간다.
- argv[0] 에는 실행파일 이름 (경로 + 프로젝트이름) 이 문자열로 들어가고
- argv[1] 부터 프로그래머가 필요로 하여 입력한 인수들이 문자열로 들어간다.
int main (int argc, char * argv [])
{
for (int count = 0; count < argc; ++count)
{
cout << argv[count] << endl;
}
return 0;
}
이와 같이 main 함수를 작성 한 후 command line에 아래와 같이 입력하면
> my_project 100 1024 3.14
argv
argv[0]
: “my_project” 실행 파일 이름이 문자열로 들어간다.argv[1]
“100” 첫 번째 인수가 문자열로 들어간다.argv[2]
“1024” 두 번째 인수가 문자열로 들어간다.argv[3]
“3.14” 세 번째 인수가 문자열로 들어간다.
argc
- 인수가 4개이므로 4가 들어가게 된다.
- main 함수가 실행되면서 my_project 100 1024 3.14 이 출력된다.
문자열로 들어온다는 것에 주의하기
명령 줄 인수로 정수를 입력해도 문자열로 받기 때문에 정수로 사용하고 싶다면 정수로 변환하는 과정을 진행해주어야 한다.
std::stoi
: 문자열을 정수로 바꾸어 주는 함수
int (count >= 1)
int input = std::stoi(argv[count]) // argv[1]부턴 문자열 인수를 정수로 변환
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글남기기