我在互联网上看了3个小时,我找不到解决方案。我必须使用getopt创建一个小程序,接受3个参数,m和n以及--help。我希望能够为m和n写一个整数作为选项,或者保留它没有任何数字。示例:-m打印第一条消息,-n打印第二条消息,-m 1 -n 33此处打印带有数字的m消息和带有数字的n消息, - help print third message
while ((c = getopt (argc, argv, "m:n:help")) != -1)
switch (c)
{
case 'm':
integer1 = atoid(optarg);
printf("Hello1 %d", integer1);
break;
case 'n':
integer2 = atoid(optarg);
printf("Hello2 %d", integer2);
break;
case 'help':
printf("Tutorial");
break;
default:
printf("to be tested");
break;
}
这是用数字解析-m和-n的代码,但我不知道如何实现-m和-n而没有数字。
答案 0 :(得分:0)
如果您想支持带有可选参数或长选项的选项,getopt
将无法执行您想要的操作。您需要使用getopt_long
。