<application
android:label="@string/app_name">
基本上,如果没有输入,我想要-w。
考虑这些用例
#include <stdio.h>
#include <stdlib.h>
#include <getopt.h>
#include <string.h>
int main(int argc, char **argv) {
int o;
int w = 10;
while ((o = getopt(argc, argv, "w")) != -1) {
switch (o) {
case 'w' :
w = atoi(optarg);
break;
}
}
printf("%d\n", w);
}
我不能让第二个工作。有什么方法可以玩getopt来获得预期的结果吗?
答案 0 :(得分:3)
假设您正在使用GNU getopt,以下内容应该有效:
while ((o = getopt(argc, argv, "w::")) != -1) {
switch (o) {
case 'w' :
if (optarg) {
w = atoi(optarg);
}
break;
以下:
将该选项标记为需要参数。双:
使参数可选(这是GNU扩展)。如果没有参数,optarg
为NULL
。