C 언어 해석 명령행 함수: getopt 시리즈

2864 단어
헤더 파일: /usr/include/getopt.h함수 전송 긴 매개 변수
함수getopt_long_onlygetopt_long 둘 다 사용법 차이가 많지 않아 명령행 옵션을 해석할 수 있다
함수 출처
#include  //getopt_long()       
int getopt_long (int ___argc, char *const *___argv,  
            const char *__shortopts,  
                const struct option *__longopts, int *__longind);  
int getopt_long_only (int ___argc, char *const *___argv,  
                 const char *__shortopts,  
                     const struct option *__longopts, int *__longind); 

짧은 옵션
긴 옵션
매개변수가 필요한지 여부
-n
–username
예(사용자 이름)
-d
–debug
아니요
매개 변수
  • argcv,argv:main 함수 전달 매개 변수
  • shortopts: 짧은 문자열, 예를 들어 "hn:jk:p:s:o:m:ti:va"짧은 문자열은 필요없다'-'표시, 짧은 옵션은 매개 변수를 전달해야 할 때 뒤에 추가한다'
  • longopts, 긴 옵션 그룹, 저장 긴 옵션 매개 변수
    struct longopts{
        const char *name;//    
        int has_arg;//      
        int * flag;
        int val;
    };
    
  • longind: 롱 옵션이 롱 구성 요소 그룹에 있는 색인 값을 되돌려줍니다. 디버깅에 사용됩니다.일반적으로 NULL
  • har_arg 옵션은 세 가지가 있어요.
    define no_argument 0//매개 변수가 필요 없음
    define required_argument 1//매개 변수를 지정해야 합니다.
    define optional_argument 2//매개 변수 선택 가능
    flag와val은 서로 의존하는데 주로 다음과 같은 상황이 있다
  • flag은 NULL이고 val 값은 이 긴 옵션을 결정하는 데 사용되므로 긴 옵션에 고유한 val 값을 지정해야 합니다.여기도 긴 옵션과 짧은 옵션을 위해 다리를 놓았다
  • flag이 NULL이 아니면 flag이 가리키는 저장 공간에 val값을 저장하여 이 긴 옵션이 나타났음을 표시하는 데 사용
  • 반환값
  • 프로그램에서 짧은 옵션을 사용하면 짧은 옵션 문자(예를 들어'n')를 되돌려주고 인자가 필요하면 되돌리기 전에optarg에 인자를 저장합니다
  • 프로그램에서 긴 옵션을 사용하고 반환 값은 flag와val에 따라 결정됩니다.flag이 NULL이면 val 값이 반환됩니다.그래서 val 값에 따라 다른 처리를 하는 것도 val이 유일해야 한다는 것을 설명한다.val 값이 짧은 옵션 값과 같으면 짧은 옵션을 사용하여 함수를 해석하여 긴 옵션을 해석할 수 있다.flag이 NULL이 아니면 flag이 가리키는 저장 공간에 val 값을 저장합니다. getoptlong 반환 0
  • 정의되지 않은 긴 옵션이나 짧은 옵션이 나타납니다.getopt롱 귀환?
  • 해석 완료, Getoptlong 반환-1
  • 전역 매개 변수: 헤더 파일 역할 영역에서 사용 가능
  • extern char * optarg 상기 해석 함수 식별을 위한 매개 변수 옵션을 획득한 후의 수치
  • extern int optind는 함수 실행 과정에서 남은 매개 변수의 개수를 해석한다.
  • extern int opterr 해석 함수에서 해석할 수 없는 명령이 발생하면 오류 표시 0을 이 값
  • 으로 되돌려줍니다
  • extern int optopt 해석 함수에 식별되지 않은 문자 선택 설정
  • 좋은 웹페이지 즐겨찾기