可以通过main函数带上两个参数来获取命令行的参数。
argc:命令行参数的个数。
argv:由命令行参数组成的字符串数组。
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
for(i = 0; i < argc; i++)
{
printf("argv[%d]:%s\n", i, argv[i]);
}
return 0;
}
编译后运行结果:
$ gcc test.c -o test
$ ./test a b c
argv[0]:./test
argv[1]:a
argv[2]:b
argv[3]:c
从上面的结果我们可以看到,命令行的参数包含了程序运行的命令./test。另外除了argc参数的个数可以标志参数的结束位置外,这个参数数组argv[argc]实际上的值是NULL,我们也可以检测这个标志程序的结束。下面这个程序也可以取得同样的效果。
#include "stdio.h"
int main(int argc, char *argv[])
{
int i;
for(i = 0; argv[i] != NULL; i++)
{
printf("argv[%d]:%s\n", i, argv[i]);
}
exit(0);
}