main함수의 아규먼트// argc & argv

2020. 9. 18. 03:15컴퓨터 수업/C++

@예제 코드를 보면서 배워보자

#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
	cout << "argc는 지금 " << argc << "값을 갖고 있습니다." << endl;
	for (int i = 0;i < argc;i++)
	{
		cout << "argv[" << i << "] 는 지금 " << argv[i] << "값을 갖고 있습니다." << endl;
	}

}

결과값은 다음과 같다.

@Argument를 주는 방법 cmd!

cmd를 통해 exe 실행파일이 있는 Test.Lee의 Debug폴더까지 들어왔다.

 

첫 번째 문단을 보면, argv test.exe라는 파일명에 띄어쓰기가 있어서 오류가 났다.

이는 해당 파일명을 ""로 감싸주는 것으로 해결했다.

 

두 번째 문단을 보면, 인수로 string (char*)인 HiWorld! 를 넘겼더니 argument count (argc)가 2가 된 것을 확인할 수 있다.

 

세 번째 문단을 보면, argc가 3이 된 것을 확인 가능하다.

 

@IDE를 통해서 인수를 넘기는 방법.

프로젝트 설정을 열고, 구성 속성-디버깅의 명령 인수를 조작하면 매번 cmd에서 인수를 입력할 필요가 없다. 결과값은 다음과 같다.

#그렇다고 cmd창으로 실행파일을 실행할 때, 인수가 필요없다는 뜻이 아니다, 위의 명령 인수는 비주얼 스튜디오가 제공하는 것이니 내 컴퓨터의 명령 프롬프트는 아무 잘못이 없다 ㅠ

 

@따라서

#argc는 argument counter의 줄임말이다.

#argv는 argument value의 줄임말이다.

#argc는 반드시 1 이상의 값을 가진다, 따라서 argv[0]은 반드시 해당 실행파일(exe)의 경로를 가진다.

 

'컴퓨터 수업 > C++' 카테고리의 다른 글

디버깅  (0) 2020.09.18
빌드,컴파일  (0) 2020.09.18
파일 입출력(fstream)  (0) 2020.09.14
const에 관한 얘기  (0) 2020.09.13
연산자 오버로드(operator overload)//ostream 나중에 채워넣기  (0) 2020.09.10