2011-01-12 3 views
5

C/C++에서는 getopt_long()을 사용하여 명령 줄 인수를 구문 분석 할 수 있습니다. 옵션 중 일부가 필수라는 것을 함수에 알릴 수 있습니까? 예를 들어 getopt_long에 아래 포트를 언급하지 않고 startServer이 호출되면 구문 분석에 오류가 발생한다고 어떻게 말할 수 있습니까?C에서 getopt_long()의 필수 옵션

./startServer -port 80

참고 : 내가 옵션으로 필수 인수가 아니라 옵션 스스로 이야기하고 있지 않다.

+0

나는 방법이 있을지 의심 스럽다. 해당 옵션의 사용 여부를 추적하십시오. – lijie

답변

5

getopt_long()은 C 언어의 일부가 아닙니다. 이것은 일부 C 구현에서 사용할 수 있지만 멀리 떨어져있는 GNU 발명품입니다.

glibc (대부분의 Linux 배포판에서 사용됨)에있는 getopt_long()의 버전에서는 옵션이 필수임을 지정할 수 없습니다. 명령 줄 구문 분석이 끝나면 명시 적으로 확인해야합니다.