Linux中程序的参数传递

本文深入探讨了程序参数传递的多种方式,包括命令行参数、环境变量和配置文件的使用。详细解释了argc、argv和env在C/C++程序中的作用,并介绍了如何通过getenv函数获取特定环境变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参数传递一般是函数传参或程序执行传参

程序执行传参

比如: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:用户在命令行传入的参数列表。
  1. 通过main函数的第三个参数将系统所有的环境变量传递到程序中,然后找到想要的
    首先设置环境变量:export TEST_ENV = helloworld
    在这里插入图片描述
    envp[43] = TEST_ENV = helloworld
  2. 通过getenv函数获取特定的环境变量
    在这里插入图片描述
  3. 通过配置文件传参
    上述的两种方法传递参数相对简单,对于更加复杂的参数,如很多需要一些配置文件,程序中可通过解析文件的方法实现函数传递,这只需要读取文件内容安装格式解析接口即可,主要是文件操作及字符串操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值