应用程序接受以下形式的命令行参数:*参数但不包含形式参数*或*参数*

时间:2012-10-13 14:01:37

标签: c command-line-arguments

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

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

$test abc pqr* *xyz*

2 个答案:

答案 0 :(得分:2)

尝试运行:

$ echo abc pqr* *xyz*

您将理解为什么没有得到您期望的argc

答案 1 :(得分:1)

可能是因为你的shell / cmd.exe(没有给出具体信息!)使用*作为文件glob。如果找不到与glob匹配的文件,则结果将为空。

尝试像这样打电话给你的程序:

test abc 'pqr*' 'xyz'

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