[함수정의]
int getopt(int argc, char * const argv[], const char *optstring);
1. argc, argv : main 함수 argc, argv
2. optstring : 옵션 스트링
[예제]
#include <stdio.h>
#include <unistd.h> // for getopt()
int main(int argc, char * const * argv)
{
int flag_a = 0, flag_b = 0, flag_c = 0;
int c; // option
char str[100] = {0,};
while( (c = getopt(argc, argv, "abc:")) != -1)
{
// -1 means getopt() parse all options
switch(c)
{
case 'a' :
flag_a=1;
break;
case 'b' :
flag_b=1;
break;
case 'c' :
flag_c=1;
memcpy(str, optarg, sizeof(optarg));
break;
case '?' :
printf("Unknown flag %c", optopt);
break;
}
}
if(flag_a) { printf("flag a is ON \n"); }
if(flag_b) { printf("flag b is ON \n"); }
if(flag_c) { printf("flag c is ON \n");
printf("str : %s \n", str);}
return 0;
}
- 옵션에 인자를 넣고 싶은 경우 옵션뒤에 :을 붙인다.(위의 옵션 c처럼)
'C 언어' 카테고리의 다른 글
포인터 배열 vs 배열 포인터 (응용) (0) | 2022.07.27 |
---|---|
포인터 배열 vs 배열 포인터 (0) | 2022.07.27 |
함수 포인터 (0) | 2022.07.27 |
%*.*s (0) | 2022.07.27 |
EOF와 feof (0) | 2022.07.27 |