参数传递一般是函数传参或程序执行传参
程序执行传参
比如:ls -l ,ls -a 等等
#include
int main(int argc,char **argv)
{
int i = 0;
for(i = 0; i < argc; i++)
printf("argv[%d] = %s\n", i, argv[i]);
return 0;
}
运行此程序:./test hello world
argv的结果:argv[0] = ./a.out ; argv[1] = hello ;argv[2] = world。
环境变量传参
argc,argv用命令行编译程序时有用;**env:字符串数组。env[ ]的每一个元素都包含ENVVAR=value形式的字符。
argc, argv,env是在main( )函数之前被赋值的,编译器生成的可执行文件,main( )不是真正的入口点,而是一个标准的函数,这个函数名与具体的操作系统有关。
什么是环境变量:
- argc:就是传入参数的数量,用户不用关心,系统会自己计算。是一个整数。
- argv:用户在命令行传入的参数列表。
- 通过main函数的第三个参数将系统所有的环境变量传递到程序中,然后找到想要的
首先设置环境变量:export TEST_ENV = helloworld
envp[43] = TEST_ENV = helloworld - 通过getenv函数获取特定的环境变量
- 通过配置文件传参
上述的两种方法传递参数相对简单,对于更加复杂的参数,如很多需要一些配置文件,程序中可通过解析文件的方法实现函数传递,这只需要读取文件内容安装格式解析接口即可,主要是文件操作及字符串操作。