如何在通过 Linux 终端执行程序时要求传递参数?
具体来说,这是在 C 中。
为了更好地解释..在终端中,我需要能够像这样运行程序
./程序 文件名 第二个参数
如果没有给出参数,还需要为此返回错误消息,然后停止程序运行。
如果需要,我可以提供更多信息,这似乎是一个非常直接的问题。
如何在通过 Linux 终端执行程序时要求传递参数?
具体来说,这是在 C 中。
为了更好地解释..在终端中,我需要能够像这样运行程序
./程序 文件名 第二个参数
如果没有给出参数,还需要为此返回错误消息,然后停止程序运行。
如果需要,我可以提供更多信息,这似乎是一个非常直接的问题。
简单的检查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 */
}
您需要了解main()
在 C中传递给的参数。argv[0]
是程序名称,因此条件是argc != 3
ie 如果您提供的参数少于或多于 2 个,则会出现使用错误。