-1

如何在通过 Linux 终端执行程序时要求传递参数?

具体来说,这是在 C 中。

为了更好地解释..在终端中,我需要能够像这样运行程序

./程序 文件名 第二个参数

如果没有给出参数,还需要为此返回错误消息,然后停止程序运行。

如果需要,我可以提供更多信息,这似乎是一个非常直接的问题。

4

1 回答 1

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 */

}

您需要了解main()在 C中传递给的参数。argv[0]是程序名称,因此条件是argc != 3ie 如果您提供的参数少于或多于 2 个,则会出现使用错误。

于 2013-09-05T05:20:35.683 回答