C语言 应用程序接受表单的命令行参数:*参数,但不接受表单参数*或*参数*的命令行参数



例如,如果我的程序名称是test.c

然后对于以下运行命令,argc = 2而不是4

$test abc pqr* *xyz*

尝试运行:

$ echo abc pqr* *xyz*

你会明白为什么你没有得到你期望的argc

这可能是因为你的 shell/cmd.exe(没有给出细节!)将*用作文件 glob。如果未找到与 glob 匹配的文件,则结果将为空。

尝试像这样调用程序:

test abc 'pqr*' 'xyz'

有关通配的详细信息,请参阅 http://en.wikipedia.org/wiki/Glob_%28programming%29,有关转义球体的详细信息,请参阅 shell 手册。

最新更新