getopt在Windows中不对参数进行排序

问题描述 投票:0回答:1

[getopt在Windows和Linux中的行为似乎有所不同。 Windows需要严格的参数排序,而在Linux中,我可以按任意顺序放置参数。考虑一个程序test,该程序使用为Linux(gcc)和Windows(MinGW)编译的getopt,并以以下命令行为例:

test file1.bin file2.bin -o output.txt

Linux中执行此命令将正确解析-o output.txt作为选项(+参数),无论我将-o output.txt放在何处。它也可能在file1.binfile2.bin之间,并且getopt解析仍将正确进行,因为它通过将可选参数置于必填项的前面来对参数进行排序。

[在Windows]中执行此命令]但是会导致不正确的解析,使我在optind变量中的索引错误。似乎在Windows中编译时完全相同的代码对我来说不起作用。为什么会这样,我们可以解决这个问题吗?

似乎getopt在Windows和Linux中的行为有所不同。 Windows需要严格的参数排序,而在Linux中,我可以按任意顺序放置参数。考虑一个程序测试,......>

c gcc mingw getopt
1个回答
0
投票

根据要求将我的评论转移到答案。

© www.soinside.com 2019 - 2024. All rights reserved.