读取可执行文件的参数

时间:2011-04-10 12:54:44

标签: c parameter-passing

在我的程序中我将使用两个参数。它看起来像这样:

./myApp -status 7 -file abc.txt

我的问题是如何制作像“if(parameter_status == 7)”这样的条件以及如何从我的主文件中的-file获取abc.txt?

由于

3 个答案:

答案 0 :(得分:3)

使用GNU C库getopt()调用。如何使用它的示例是www.gnu.org

答案 1 :(得分:2)

通过命令行传递的参数位于main()的argv param中,它们的计数在argc中。

答案 2 :(得分:2)

long int status = 0;
char *filename = NULL;

for (i = 1; i < argc - 1; i++) {
  if (!strcmp(argv[i], "-status")) {
    status = strtol(argv[++i], NULL, 10);
  } else if (!strcmp(argv[i], "-file")) {
    filename = argv[++i];
  }
}