学习如何在C语言中访问命令行参数
在你的C语言程序中,你可能有需要在命令启动时接受来自命令行的参数。
对于简单的需求,你只需要将main() 函数签名从
改为
int main (int argc, char *argv[])
argc 是一个整数,包含命令行中提供的参数数量。
argv 是一个字符串的数组。
当程序启动时,我们在这2个参数中得到了参数。
注意,
argv数组中总是至少有一项:程序的名称
让我们以我们用来运行程序的C编译器为例,像这样。
如果这是我们的程序,我们会让argc 是4,而argv 是一个包含的数组
gcchello.c-ohello
让我们写一个程序,打印出它所收到的参数。
#include <stdio.h>
int main (int argc, char *argv[]) {
for (int i = 0; i < argc; i++) {
printf("%s\n", argv[i]);
}
}
如果我们的程序的名字是hello ,我们这样运行它。./hello,我们会得到这样的输出。
./hello
如果我们传递一些随机参数,像这样:./hello a b c ,我们会得到这样的输出到终端。
./hello
a
b
c
这个系统对于简单的需求非常有效。对于更复杂的需求,有一些常用的软件包,如getopt。