如何解决处理多个程序参数,但在 C
我在弄清楚如何合理地考虑在可以使用的情况下给出了哪些可用参数时遇到了问题,但还有一个可选参数,之后可以给出一个强制性参数。它特别是关于 C 中的 getopt。示例:我有一个带有参数 -a -b -c 和可选 -d 的程序。只能使用前三个中的一个。通常我会这样做:
while ((opt = getopt(argc,argv,OPTSTR)) != EOF)
{
switch (opt)
{
case 'd':
optional_flag = 1;
break;
case 'a':
if (!mandatory_flag)
mandatory_flag = 1;
else
usage_prompt(argv[0]);
break;
case 'b':
if (!mandatory_flag)
mandatory_flag = 1;
else
usage_prompt(argv[0]);
break;
case 'c':
if (!mandatory_flag)
mandatory_flag = 1;
else
usage_prompt(argv[0]);
break;
现在的问题是我只是检查是否给出了可选参数,以及是否没有给出许多强制参数。我可以为每个选项使用一个单独的标志,但是对于许多参数来说会很烦人。有没有更好的解决方案来保持逻辑但也知道给出了哪个参数?我正在考虑另一个开关,我将能够在其中运行适当的功能。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。