如何在C中访问命令行参数

了解如何在C中访问命令行参数

在你的C程序,您可能需要在命令启动时从命令行接受参数。

对于简单的需求,您要做的就是更改main()来自的功能签名

int main(void)

int main (int argc, char *argv[])

argc是一个整数,其中包含命令行中提供的参数数量。

argv是一个大批的字符串。

程序启动时,将在这两个参数中提供参数。

请注意,argv数组:程序名称

让我们以用于运行程序的C编译器为例,如下所示:

gcc hello.c -o hello

如果这是我们的程序,我们将有argc4岁argv是一个包含以下内容的数组

  • gcc
  • hello.c
  • -o
  • hello

让我们编写一个打印接收到的参数的程序:

#include <stdio.h>

int main (int argc, char *argv[]) {
  for (int i = 0; i < argc; i++) {
    printf("%s\n", argv[i]);
  }
}

如果我们的程序名称是hello我们像这样运行它:./hello,我们将其作为输出:

./hello

If we pass some random parameters, like this: ./hello a b c we’d get this output to the terminal:

./hello
a
b
c

This system works great for simple needs. For more complex needs, there are commonly used packages like getopt.

Download my free C Handbook


More clang tutorials: