커맨드 라인 인자


#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 이상이다.

Screen Shot 2021-07-22 at 12 16 25 AM

  • 프로그램을 실행할 때의 이름이 argv[0]에 항상 들어있는 것과, 실행 인자를 늘리면 argc도 증가하는 것을 확인할 수 있다.

Screen Shot 2021-07-22 at 12 18 59 AM

  • 추가적으로, 실행인자를 ““로 묶어서, 감싼 부분을 하나의 실행 인자로 묶어 주는 효과를 낼 수 있다.

  • 그리고 *, ? 같은 와일드 카드(glob) 패턴을 이용하여 파일 이름의 집합을 인자로 넘겨줄 수 있다.

  • glob 패턴을 문자 그대로 사용하고 싶은 경우에는 위와 같이 큰 따옴표로 주면 된다.

>> Home