커맨드 라인 인자
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[]) {
int i;
printf("argc=[%d]\n", argc);
for (i = 0; i < argc; i++) {
printf("argv[%d]=%s\n", i, argv[i]);
}
exit(0);
}
-
argc
,argv
는 실행 인자에 대한 정보를 담고 있다. -
argc
는 실행 인자의 개수를 담고 있고,argv
는 실행 인자의 내용을 문자열 배열 형태로 담고 있다. -
argv[0]
에는 실행할 때 입력한 명령어가 들어가는데, 예를 들어서./hello
라는 명령어를 실행하면argv[0]
에./hello\0
이라는 값이 들어간다. 따라서argc
는 언제나 1 이상이다.
- 프로그램을 실행할 때의 이름이
argv[0]
에 항상 들어있는 것과, 실행 인자를 늘리면argc
도 증가하는 것을 확인할 수 있다.
-
추가적으로, 실행인자를 ““로 묶어서, 감싼 부분을 하나의 실행 인자로 묶어 주는 효과를 낼 수 있다.
-
그리고
*
,?
같은 와일드 카드(glob
) 패턴을 이용하여 파일 이름의 집합을 인자로 넘겨줄 수 있다. -
glob
패턴을 문자 그대로 사용하고 싶은 경우에는 위와 같이 큰 따옴표로 주면 된다.