为了理解如何使用getopt,我使用了gnus manual example中的示例。我把它减少到我感兴趣的情况,如下所述:
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int
main (int argc, char **argv)
{
char *cvalue = NULL;
int c;
while ((c = getopt (argc, argv, "c")) != -1)
switch (c)
{
case 'c':
cvalue = optarg;
break;
}
printf ("cvalue = %s\n", cvalue);
return 0;
}
如您所见,我只对示例案例'$(testopt -c foo)'感兴趣。现在,在尝试执行上述操作时,我的'optarg'是(null)。 为什么??或者更好;我该如何解决这个问题?