main()
函数是程序执行开始的地方。main()
可以有一个参数列表,以便可以将参数传递给main()
。
可以使用无参数或使用两个参数编写main()
函数。
第一个参数是int
类型,表示参数个数,包括程序本身的名称。main()
的第二个参数是一个指向字符串的指针数组。
在命令行中编写程序名后面两个参数时传递的参数将是一个由三个指针组成的数组。
第一个将指向程序的名称,第二个和第三个将指向在命令行输入的两个参数:
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("程序的名称是: %s\n", argv[0]);
for(int i = 1 ; i<argc ; ++i)
printf("参数是 %d: %s\n", i, argv[i]);
return 0;
}
argv [0]
是程序名称。argv
数组中的后续元素将是在命令行输入的参数。可以使用双引号来标记内部有空格的单个参数。所有命令行参数都将作为字符串读取。
可以使用下表中显示的一个函数将字符串转换为数字。
函数 | 描述 |
---|---|
atof() |
将作为参数传递的字符串转换为double 类型 |
atoi() |
将作为参数传递的字符串转换为int 类型 |
atol() |
将作为参数传递的字符串转换为long 类型 |
atoll() |
将作为参数传递的字符串转换为long long 类型 |
以下代码显示如何将命令行参数转换为整数:
int arg_value = 0; // 存储命令行参数的值
if(argc > 1) // 验证我们至少有一个参数
arg_value = atoi(argv[1]);
else
{
printf("Command line argument missing.");
return 1;
}