getopt를 사용하여 Unix 명령 줄에서 전달 된 인수 값을 인쇄하는 C 프로그램을 작성했습니다 (Google에서 복사 및 붙여 넣기).유닉스 명령 줄에서 실행할 때 getopt가 올바르게 작동하지 않습니다.
유닉스 명령 행에서:
./myprog -a 0 -b 1 -c 2
내 C 코드는 다음과 같습니다
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
int i;
while ((i = getopt(argc, argv, "abc")) != -1) {
switch (i) {
case 'a':
printf("A = %s\n", optarg);
break;
case 'b':
printf("B = %s\n", optarg);
break;
case 'c':
printf("C = %s\n", optarg);
break;
default:
break;
}
}
return 0;
}
내가 예를 들어, 전달 된 각각의 값을 출력 할 프로그램하려면
A = 0
B = 1
C = 2
그러나 아무것도 인쇄하지 않습니다.
":"에 대해 잊어 버렸습니다 –