C语言-操作环境变量

2023-11-10

20180216-c语言操作环境变量


使用C语言操作环境变量

 

获取环境变量内容

char* getenv(char* name)

参数:name欲获取的环境变量名称

返回值:环境变量值,NULL表示没有找到环境变量

 

设置环境变量

int putenv(char* string)

参数:string环境变量字符串,格式:name=value

返回值:0表示成功,-1表示失败

 

int setenv(const char* name,const char*value,int overwrite)

参数:name环境变量名称

     value环境变量值

     overwrite 0表示如果环境变量存在不覆盖原有值,其它值表示覆盖原有变量值

返回值:0表示成功,-1表示失败

 

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

 

int main()

{

  char *penv = NULL;

  char *path;

 

  penv = getenv("PATH");

  if(penv == NULL){

     printf("get env error\n");

     return 0;

   }

  printf("%s\n",penv);

  

  path = malloc(strlen(penv)+15);

  strcpy(path,"PATH=");

  strcat(path,penv);

  strcat(path,":./");

  putenv(path);

  penv = getenv("PATH");

  if(penv == NULL){

      printf("get env error\n");

     return 0;

   }

  printf("%s\n",penv);

  return 0;

}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言-操作环境变量 的相关文章

  • Java内存分配介绍

    Java的内存分配主要有三个位置 方法区 就是字节文件 存储未运行的代码 栈内存 当方法运行的时候 则在栈内存中存储 堆内存 当方法新生成对象的时候 或者新产生出局的时候将在堆内存中存储 方法区 字节文件加载时进入的内存 存储的就是编写成功
  • 常用服务器指令

    查看docker 容器占用进程 docker top 容器id 容器名 查看进程占用内存 top p PID 查看服务器所有进程 pid ef 查看内存 free 查看占用CUP最多 ps aux sort k4nr head n 10 查
  • 【Mariadb数据库用户及权限管理】

    一 用户管理 1 创建用户 方法一 直接创建用户 create user 用户名 来源 identified by 密码 来源地址 localhost 本机 192 168 150 网段 所有 方法二 在授权同时就创建用户 grant 权限
  • VTK笔记-图形相关-判断空间上的点是否在图元内-vtkSelectEnclosedPoints

    判断空间上的点是否在几何图元内 使用vtkSelectEnclosedPoints类 vtkSelectEnclosedPoints vtkSelectEnclosedPoints类可以判断标记点是否在封闭表面内 vtkSelectEncl
  • 【CVPR2021】文章、代码和数据链接

    Awesome CVPR2021 Low Level Vision 整理汇总下今年CVPR图像重建 Image Reconstruction 底层视觉 Low Level Vision 相关的论文和代码 括超分辨率 图像去雨 图像去雾 去模
  • 解决 ANSJ分词 自定义词典文件无效

    注意 1 指定配置文件的路径时 建议配置为绝对路径 这种方式最简单 否则需自行解决路径的问题 2 配置文件的内容 词典各字段之间使用tab t 分割 一般发现自定义字典无效 就是因为使用的不是tab t 而是4个空格等 所以 一定要记住 t
  • Bootstrap 3导航栏

    Today we continue Bootstrap 3 lessons and review Bootstrap 3 Navbar In our new lesson we will try to disassemble the nav
  • 关于复位的一些总结

    同步reset synchronous reset 是说 当reset信号为active的时候 寄存器在下一个时钟沿到来之后被复位 时钟沿到来之前寄存器还是保持其之前的值 异步reset asynchronous reset 是说 当res
  • bash: /opt/ros/kinetic/setup.bash: 没有那个文件或目录

    我安的是ROS melodic版本 但是使用的是kinetic版本的安装教程 这就导致了在有一步 添加环境变量时 使用echo指令 忘了将教程中的kinetic改成melodic 所以出现了以下的现象 当我source bashrc的时候
  • Java学习笔记 -- 包 (package)

    Java 面向对象篇 笔记首页 序号 内容 链接地址 1 面向对象概述 https blog csdn net weixin 44141495 article details 107999131 2 类与对象 https blog csdn
  • 2022蓝桥杯JAVA研究生组--我写了几个

    试题 A 排列字母 本题总分 5 分 问题描述 小蓝要把一个字符串中的字母按其在字母表中的顺序排列 例如 LANQIAO 排列后为 AAILNOQ 又如 GOODGOODSTUDYDAYDAYUP 排列后为 AADDDDDGGOOOOPST
  • 晶振是如何起振的?

    01 皮尔斯晶体振荡器 目前工作中用得最多的就是皮尔斯晶体振荡器 也就是下面这个结构 CL1 CL2为匹配电容 Rext通常为串联的几百欧姆电阻 有时也不加 上面这个结构可能看着不是很熟悉 我们把它转换一下 变成下面这个就熟悉些 上图中把R
  • TestNG 开源自动化测试框架

    摘要 TestNG是一个开源自动化测试框架 TestNG表示下一代 TestNG是类似于JUnit 特别是JUnit 4 但它不是一个JUnit扩展 它的灵感来源于JUnit 它的目的是优于JUnit的 尤其是当测试集成的类 主要内容 Te
  • 如何在Java中将GIF图像转换为PNG等图像格式?试试Aspose

    通常 GIF图像用于描述动画 动画GIF是按特定顺序组合在一起的帧的集合 但是 在某些情况下 必须将GIF图像转换为其他光栅图像格式 对于这种情况 本文演示了如何使用Java将GIF图像转换为PNG JPEG BMP和TIFF格式 在Jav
  • 【upload-labs】————12、Pass-11

    闯关界面 前后端检测判断 查看源代码 这里采用了白名单判断 但是 img path直接拼接 所以可以先上传一个符合白名单检测的jpg文件 之后再burpsuite中使用 00截断保存路径即可 截断保存路径 浏览器中访问
  • C++项目中调用C#库

    最近有个功能在实现的时候要么要求 C 版本比较高 C 17 要么要求的 Qt 版本比较高 要么要求 windows 版本比较高 而且也没有比较好的第三方 C 库 无意间发现 C 早就实现了该功能 故准备使用 C 实现具体功能 在 C 项目中
  • 差帧法——学习

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 引言 思路 伪代码 代码 详解 函数详解 二值化 高斯滤波 引言 个人理解 差帧法 就是相邻两帧之间图象的差值 通过对差值进行高斯滤波或者腐蚀 膨胀操作减小图象噪声
  • Vue基础

    Vue 是什么 Vue 读音 vju 类似于 view 是一套用于构建用户界面的渐进式框架 vue 的核心库只关注视图层 不仅易于上手 还便于与第三方库或既有项目整合 使用Vue将helloworld 渲染到页面上 指令 本质就是自定义属性
  • 操作系统复习总结(五)

    10 18 14 30 15 00 第五章 主存管理 主存储器 主存 or 内存 中央处理器为可直接访问的存储器 计算机系统的一个关键性资源 理想中的存储器 更大更快 更便宜的非易失性存储器 存储管理的功能 方式 连续分配方式 一个进程分配
  • LINUX-LVM简单配置

    1 在编辑设置中为虚拟机添加另一块新硬盘 2 fdisk dev sdb gt n新建分区 gt p选择默认主分区 gt 回车 gt 回车 gt 回车 gt t为新建分区分配id gt 8e gt 回车 3 pvcreate dev sdb

随机推荐

  • 字符串有关习题

    0 请问下面代码有没有毛病 为什么 1 gt gt gt input I love FishC com 2 gt gt gt print input 3 I love FishC com 答 有问题 给变量命名要避免与内置函数名字冲突 1
  • 安装老版本flash - 解决”正尝试安装的adobe flash player不是最新版本“的办法

    安装Flash player时提示 正尝试安装的adobe flash player不是最新版本 解决的办法是在运行中输入regedit 在注册表中找到 HKEY LOCAL MACHINE SOFTWARE Macromedia Flas
  • c语言中关于时间的函数

    本文从介绍基础概念入手 探讨了在C C 中对日期和时间操作所用到的数据结构和函数 并对计时 时间的获取 时间的计算和显示格式等方面进行了阐述 本文还通过大量的实例向你展示了time h头文件中声明的各种函数和数据结构的详细使用方法 关键字
  • 抓蓝牙数据包_蓝牙协议分析工具Wireshark/Frontline/Ellisys的使用

    一 声明 本专栏文章我们会以连载的方式持续更新 本专栏计划更新内容如下 第一篇 蓝牙综合介绍 主要介绍蓝牙的一些概念 产生背景 发展轨迹 市面蓝牙介绍 以及蓝牙开发板介绍 第二篇 Transport层介绍 主要介绍蓝牙协议栈跟蓝牙芯片之前的
  • JAVA String.intern()方法

    感谢原作者的分享 转载只为方便知识点 原文地址 http www runoob com java java string intern html 莫洛的笔记 尽管在输出中调用intern方法并没有什么效果 但是实际上后台这个方法会做一系列的
  • Java面试准备——计算机网络

    计算机网络相关面试重点整理 本文学习自GitHub上的JavaGuide项目 感谢大佬的资源 此处为自我学习与整理 原项目链接 JavaGuide OSI和TCP IP各层的结构和功能 都有哪些协议 我们平时学习计算机网络使用五层结构 比较
  • openlayers 3 之 getPixelFromCoordinate 为空

    在地图容器发生变化后 再调用其方法进行定位 暂时 报错setPosition的错误 跟踪源代码 发现是map getPixelFromCoordinate为null值 查找资料 发现是map还没有渲染完成 所以报错 解决办法 1 添加pos
  • Istio Pilot源码学习(三):xDS的异步分发

    本文基于Istio 1 18 0版本进行源码学习 5 xDS的异步分发 DiscoveryService主要包含下述逻辑 启动GRPC Server并接收来自Envoy端的连接请求 接收Envoy端的xDS请求 从ConfigControl
  • C#数组 一维、二维以及交错数组 C#学习杂记(五)

    1 一维数组基本概念 拥有连续的内存空间 存储一组相同类型的数据 数组长度不可更改 数组下标从0开始 2 数组基本使用 int arr 声明 arr new int 4 1 2 3 4 赋值并且初始化 string str str new
  • STM32F103ZET6【标准库函数开发】------05.通用定时器TIM4四个通道输出PWM信号

    STM32有四个通用定时器 现在介绍TIM4输出4路PWM的方法 TIM4可以选择不用重映射或者重映射 一 没有重映射 下面展示主要的time c main c函数的代码 include timer h void TIM4 PWM Init
  • linux LCD驱动实验

    文章目录 一 linux下LCD驱动解析 1 Framebuffer设备 2 LCD驱动解析 二 硬件原理图分析 三 LCD驱动程序编写 1 LCD 屏幕 IO 配置 2 LCD 屏幕参数节点信息修改 3 LCD 屏幕背光节点信息 四 运行
  • 深度学习(一)

    目录 1 深度学习要解决的问题 2 深度学习应用领域 3 计算机视觉任务 4 视觉任务中遇到的问题 1 深度学习要解决的问题 机器学习流程 数据获取 特征工程 建立模型 评估与应用 深度学习跟人工智能更贴切 机器学习中的一部分 特征工程的作
  • Arduino MQTT客户端库PubSubClient快速入门

    文章目录 目的 基础说明 示例代码 总结 目的 MQTT是比较常用在物联网设备中的通讯协议 这篇文章将使用 Arudino ESP32 作为MQTT客户端进行通讯使用演示 目前Arduino的MQTT客户端库中最常使用的是 PubSubCl
  • Swin Transformer:层次化视觉Transformer

    目录 论文下载地址 代码下载地址 论文作者 模型讲解 背景介绍 模型解读 总体结构 Swin Transformer模块 非重叠窗口的自注意力 连续Swin Transformer块中的移位窗口分区 移位的高效批量计算 网络结构 结果分析
  • python 函数

    函数是组织好的 可重复使用的 用来实现单一 或相关联功能的代码段 函数能提高应用的模块性 和代码的重复利用率 Python提供了许多内置函数 比如print 我们也可以自己创建函数 这被叫做用户自定义函数 定义函数的语法 def 函数名 参
  • 201632位matlab下载_Matlab R2016a x32

    之前小编为大家提供了matlab 2016a x64的下载 本来以为新版本不再支持32位系统了 不过官方还是很负责任地推出了支持xp win7等系统的matlab 2016a 32位版 新版本新增了模拟机器人系统 原型机器人算法以及机器人学
  • matlab常用分布极大似然估计函数用法(含例子实现)

    本博文源于matlab概率论运用 学过 概率论 的同学都知道 极大似然估计一般用于区间估计的 而matlab已经将其封装好由我们自己调用 参数估计的MATLAB函数 函数 功能 mu sigma muci sigmaci normfit x
  • 使用ScrollView实现下拉刷新(一)

    转载自 http blog csdn net a6920502 article details 8759244 使用ListView来做下拉刷新有很多例子 而且封装的很好 ListView有 header 但是如果不使用ListView的下
  • 使用C++完成以栈为基础的简易计算器,并使用Qt5制作可视化界面

    使用C 完成以栈为基础的简易计算器 并使用Qt5制作可视化界面 一 计算器内部逻辑构造 在完成计算器时选用栈数据结构 自己编写的和标准模板库中的都可 要求支持加减乘除和逻辑与或非运算 可计算整数和小数 这一部分有很多思路都可以实现 我的写法
  • C语言-操作环境变量

    20180216 c语言操作环境变量 使用C语言操作环境变量 获取环境变量内容 char getenv char name 参数 name欲获取的环境变量名称 返回值 环境变量值 NULL表示没有找到环境变量 设置环境变量 int pute