我编写(从 Google 复制和粘贴并简化)一个 C 程序,使用 getopt 打印出从 Unix 命令行传入的参数的值。
从 Unix 命令行:
./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
但是,它根本没有打印出任何东西。