본문 바로가기
Language/C++

[c++] Command Line Argument

by 담백로봇 2023. 1. 5.

참고 : GeeksforGeeks


int main() { /* ... */ }

c/ c++에서 가장 중요한 함수은 메인 함수는 return값으로 int 를 반환한다 

오늘의 주제 "command-line arguments 는 commnad-line shell 오퍼레이팅 시스템 안에 시스템이름 다음으로 오는것으로 표기법은 많이본 아래와 같은 형식을 가진다. 다른 사람이 짜놓은 프로그램을 보면 뭔가했는데 간단히 알고 짚고넘어가면 좋을듯하다.

int main(int argc, char *argv[]) { /* ... */ }
int main(int argc, char **argv) { /* ... */ }

간단한 설명으로는 코드를 돌리기위해 지정된 프로그램 이름을 선언해줘야하는데 이를 자동으로 입력해주는 역할을한다. 

 

  • argc : int형태로 몇개의 argument가 적용됬는지 알려준다. 기본적으로 첫번째는 program name이 넘겨지고 최소 1이상
  • argv:  argument array로 argv[0]은 프로그램 이름 , argv[1]은 첫번째 command line argument를 가지고 .. [n-1]번째 까지 있다

예제를 출력해보면

#include<stdio.h>

int main(int argc,char* argv[])
{
	int counter;
	printf("Program Name Is: %s",argv[0]);
	if(argc==1)
		printf("\nNo Extra Command Line Argument Passed Other Than Program Name");
	if(argc>=2)
	{
		printf("\nNumber Of Arguments Passed: %d",argc);
		printf("\n----Following Are The Command Line Arguments Passed----");
		for(counter=0;counter<argc;counter++)
			printf("\nargv[%d]: %s",counter,argv[counter]);
	}
	return 0;
}

결과

argv[0]은 프로그램 이름이고 다른 추가된 argument가 없어 no extra가 출력된다. 

(Q.  Argument를 추가 시킬려면 어떤 방식으로 될려나 ?)  => command 에 입력하는순간 이게 들어가는구나!!

3개 arg 추가해서 총 4개값이 형성

 

댓글