2011-10-26 104 views
0

我一直在读一些关于程序如何处理命令行参数的信息。但信息似乎是“不完整的”,我读过的东西:命令行参数,解析标准aproach?

  • 如果选项前面有选项,可能会有前面的' - '或'/'符号。
  • 选项可以有其他参数(不带 - 符号)
  • 选项参数直接跟随选项,有或没有空格。
  • 选项可以是单个字母或完整的单词。
  • optionscan内一个单一的 “选项” 合并:-abc等于-a -b -c

(Source)

现在我真的很疑惑:你给什么样的选项“ - “标志,而不是。 另外,将选项合并为1似乎与全字选项不兼容? “-file”可以是一个完整的词,但它也可能意味着“-f”,“-i”,“-l”,“-e”,4个不同的开关。甚至:“-f”与“ile”作为option_argument。

我理解错了什么?

+0

另请参见:http://stackoverflow.com/q/7966077/371250,特别是来自TokenMacGuy的评论。 – ninjalj

回答

2

像Linux系统中,有一个是完整的单词选择使用两个破折号(例如--file),该公约而单字母选项使用一个连字符(如-f

使用斜线介绍选项来自旧的DOS,并保存在Windows中。

此外,如果某个选项使用整个单词,则不能将其分成多个选项。这是在问候你的例子与-file-file可以是一个选项,或四个不同选项-f-i-l-e)。总而言之,选项的外观或处理方式在程序之间有很大的不同,实际上并没有任何特定的标准。

我建议你找一些你喜欢的方式,然后使用它。

+0

同意上面的内容,您还可以使用期望支持的操作系统的选项约定。祝你好运。 – shellter

+0

好吧,我很难找到windows的选项约定。我还没有在窗口上看到“//”或“ - ”。我真的很想知道在Windows中实际上是否合并了选项。 – paul23

0

有没有Windows标准选项/参数/参数等

选项被开发为每个开发人员理解,使他们更容易来解释信息的传递。

/-前缀选项的真正原因通常用于解析规则,因为使用较少的代码解析唯一选项前缀比使用较大代码的复杂选项容易得多。常见的开发标准(如标准使用选项)最大限度地减少了用户的困惑;)