使用命令行参数来运行C
1. 源代码及命令行中的运行步骤
/* repeat.c--引用C Primer Plus第11章*/
#include <stdio.h>
int main(int argc, char *argv[]) //使用char **argv也可以
{
int count;
printf("The command line has %d arguments:\n",argc-1);
for(count=1;count<argc;count++)
printf("%d: %s\n",count,argv[count]);
printf("\n");
return 0;
}
- 命令行中的运行步骤如下
2. 相关解释
- C允许main()没有参数或有两个参数
- main()有两个参数时,第一个参数argc(argument count)是命令行中的字符串数量。
- repeat示例中包括命令名共有4个字符串,其中后三个供repeat使用
- 该程序把命令行字符串储存在内存中,并把每个字符串的地址储存在指针数组中,而该数组的地址则被储存在main()的第二个参数中。这个指向指针的指针称为argv(argument value)。程序本身的名称赋给argv[0],随后的第一个字符串赋给argv[1],以此类推。
- 许多环境都允许用双引号把多个单词括起来形成一个参数
例如在命令行中输入:
repeat "I am hungry" now
这行命令把字符串"I am hungry"赋给argv[1],把"now"赋给argv[2]。