当前位置: 首页 > news >正文

获取环境变量的两种方式:getenv()和environ

什么是环境变量?

        大家可以查看这篇文章认识环境变量:通俗易懂linux环境变量-CSDN博客

实操如何在编写代码时获取环境变量?

        示例代码如下:

#include <stdio.h>
#include <stdlib.h>extern char **environ;  // 声明环境变量数组int main() {// 方法1:使用getenv函数获取特定环境变量const char *path = getenv("PATH");if (path != NULL) {printf("PATH: %s\n", path);}// 方法2:遍历所有环境变量printf("\n所有环境变量:\n");for (char **env = environ; *env != NULL; ++env) {printf("%s\n", *env);}return 0;
}

        代码输入如下:

 getenv()介绍

        函数原型:

#include <stdlib.h>
char *getenv(const char *name);

该函数会返回一个指向环境变量 name 值的指针,若环境变量不存在,则返回 NULL

environ 介绍

        environ类型如下:

char **environ;
  • environ 是一个全局变量,用于访问当前进程的环境变量。
  • environ指向一个指针,这个指针指向一个字符数组。这个数组里面的每个元素就是该进程的一个环境变量

        下列代码演示了如何利用environ这个全局指针变量,来获取指定的环境变量,大家应该很容易看懂:

#include <stdio.h>
#include <unistd.h>int main() {char **env = environ;while (*env!= NULL) {if (strncmp(*env, "PATH=", 5) == 0) {printf("PATH environment variable: %s\n", *env + 5);break;}env++;}return 0;
}

http://www.lqws.cn/news/215083.html

相关文章:

  • 【C/C++】STL实现版本为什么比手写版本高?
  • SWE-Dev:开启自主特征驱动软件开发新纪元,重新定义大模型编码能力边界
  • IOS性能优化
  • 【Linux庖丁解牛】—系统文件I/O !
  • Python网页自动化测试,DrissonPage库入门说明文档
  • 从零开始的python学习(七)P102+P103+P104+P105+P106+P107
  • [SNOI2024] 公交线路 题解(观察,点减边容斥,优化trick)
  • 【分销系统商城】
  • Python Robot Framework【自动化测试框架】简介
  • c++ —— 内存管理
  • 人工智能赋能高中学科教学的应用与前景研究
  • ThinkPHP 5.1 中的 error 和 success 方法详解
  • 运行示例程序和一些基本操作
  • |从零开始的Pyside2界面编程| 用Pyside2打造一个AI助手界面
  • PL0语法,分析器实现!
  • STM32开发中,线程启动异常问题排查简述
  • 基于Springboot的宠物领养系统
  • 滚珠螺杆的预压技术是如何提高精度的?
  • Mysql-定时删除数据库中的验证码
  • 理论物理与高等数学的交叉点“规范场”和“纤维丛”
  • 程序代码篇---Python串口
  • 【题解-洛谷】P10448 组合型枚举
  • Cloudflare 免费域名邮箱 支持 Catch-all 无限别名收件
  • A Execllent Software Project Review and Solutions
  • C++课设:实现简易文件加密工具(凯撒密码、异或加密、Base64编码)
  • day24 元组和OS模块
  • 【STM32F1标准库】理论——定时器中的输出比较
  • 线程池封装
  • 【深度学习-Day 24】过拟合与欠拟合:深入解析模型泛化能力的核心挑战
  • PLC有脉冲输出,但伺服电机无法旋转