0
명령 줄 인수를 구문 분석하고이를 인쇄하려고합니다 ... 어떻게 getopt를 사용하여이 작업을 수행 할 수 있습니까?C에서 getopt를 통해 명령 줄 매개 변수 구문 분석
나중에 코드 개발을 위해 getopt가 필요합니다 /.
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main (int argc, char **argv)
{
char *cvalue = NULL;
int c;
while ((c = getopt (argc, argv, "n1n2n3n4c:")) != -1)
switch (c):
case n1:
case n2:
case n3:
case n4:
for(int i=0; i<argc;i++)
{
printf("Option: d%", argv[i]);
}
default: break;
printf ("n1flag = %d, n2flag = %d, n3flag = %d, n4flag = %d cvalue = %s\n",
n1flag, n2flag, n3flag, n4flag, cvalue);
for (index = optind; index < argc; index++)
printf ("Non-option argument %s\n", argv[index]);
return 0;
}
을 (http://www.gnu.org/software/libc/manual/html_node/Getopt.html) . – pzaenger
Brian의 대답에 대한 추가 정보로, -nX 옵션을 원하면 인수가 필요한 단일 -n 옵션을 사용하고 수신 인수를 확인하십시오 (예 : 옵션이 'n'인 경우 optarg가 "5"이지만 -n5가 유효하지 않습니다). 그렇지 않으면 getopt_long_only를 사용하는 것을 고려해보십시오 - X Window System에서 요구하는 스타일의 옵션을 위해 생성 된 GNU 함수 (예 : "-display : X.Y"는 -display, X.Y는 옵션 인수). 그래도 문제가 해결되지 않으면 자신 만의 인수 파서를 만들 수 있습니다. –