getopt에 대해 영어로 설명된 일부분좀 해석해주실 수 있나요?
getopt에 대해 알아보다가 다음과 같은 영어 문장을 보게됐는데, 도무지 무슨 말인지 알아들을 수가 없네요.
optstring is a string containing the legitimate option characters. If
such a character is followed by a colon, the option requires an
argument, so getopt() places a pointer to the following text in the
same argv-element, or the text of the following argv-element, in
optarg. Two colons mean an option takes an optional arg; if there is
text in the current argv-element (i.e., in the same word as the option
name itself, for example, "-oarg"), then it is returned in optarg,
otherwise optarg is set to zero.
문단에서
Two colons mean an option takes an optional arg; if there is
text in the current argv-element (i.e., in the same word as the option
name itself, for example, "-oarg"), then it is returned in optarg,
otherwise optarg is set to zero.
요부분말입니다. 무슨 뜻인가요? optstring에서 옵션문자 다음에 콜론을 두 개 언급했을 때 명령행이 어떻게 구문해석되는 것인지를 말하는 것 같은데, 도무지 영어실력이 부족해서 정확하게 그 뜻을 알 수 없네요. 아시는 분 답변 달아주실 수 없을까요?
콜론을 두 개 적으면 (필수가 아니라)
콜론을 두 개 적으면 (필수가 아니라) 선택적으로(optional하게) 아규먼트를 받는다네요.
즉, -oblahblah라고 하면 optart에 blahblah가 들어오고 -o 라고만 하면 optarg에는 0이 들어온다는 거 같은데요.
근데 이건 GNU 확장기능이라니 이식성을 고려한다면 안 쓰는게 나을 지도 모릅니다.
이렇게 해석이 되련지...
optstring은 합법적인 옵션 문자들을 포함하는 문자열이다.
그러한 문자가 콜론 다음에 오면, 그 옵션(콜론 다음에 오는 옵션 문자)는 인수를 필요로 한다.
따라서 getopt()은 다음에 오는 텍스트를 가리키는 포인터를 같은 argv 요소들 안이나 optarg안에
위치시킨다.
두개의 콜론은 옵션 문자가 선택적인 arg을 가진다는 것을 의미한다; 만약 현재 argv요소 안에 텍스트
가 있다면,(즉 옵션 이름 그 자체가 포함된 단어 안에 - 예를 들면,"-oarg"처럼), 그럼 그것은
optarg안에 리턴된다. 그렇지 않은 경우 optarg는 0으로 설정된다.
도움이 되셨는지요???
감사합니다.
그러한 문자가 콜론 다음에 오면
->'콜론 앞에 그 문자가 오면'
이라고 해석해야 합니다. 그 부분은 이미 해석했습니다. 나머지 모르는 부분에 대해 해석해주셔서 감사합니다.
본인 맞습니다.
인증샷
우헤헤헤... 로 대신합니다.
댓글 달기