如何通过Linux终端执行程序时要求传递参数?
这是C语言,具体而言。
更好地解释..在终端中,我需要能够运行程序 像这样
./ 程序 FILENAME secondParameter
如果未给出参数,还需要返回错误消息,然后停止运行该程序。
如果需要,我可以提供更多信息,这似乎是一个非常直截了当的问题。
答案 0 :(得分:4)
对argc
进行简单检查即可满足您的需求:
int main(int argc, char *argv[])
{
if(argc != 3)
{
printf("Usage error. Program expects two arguments. \n");
printf("Usage: ./program FILENAME secondParameter \n");
exit(1);
}
/* Rest of your code */
}
你需要了解在C中传递给main()
的参数。argv[0]
是程序名称,因此条件是argc != 3
,即如果你给出少于或多于2个参数,你会得到使用错误。