putenv与setenv的区别:

  • putenv可以使用程序中已定义,且值形如"name=value"的字符串变量作为函数的实参。此时,系统将不再为该环境变量分配内存,使用的是程序中定义变量的内存,而是将该字符串的变量地址保存在环境中。因此该变量应该定义为全局变量,以防止该函数推出以后导致环境变量不可用。

    char *var="sex=male";putenv(var);
  • putenv可以使用形如"name=value"的常量字符串作为函数的实参。此时系统需要为该变量分配内存,存储字符串"name=value"。
    putenv("sex=male");
  • setenv必须分配内存,存储字符串"name=value";
    setenv("sex","male",1);

setenv与putenv的区别相关推荐

  1. getenv、setenv和putenv实践

    一 简介 获取环境变量函数:getenv #include <stdlib.h> char *getenv(const char *name); char *secure_getenv(c ...

  2. linux下的setenv使用

    今天遇到一个setenv的问题,本来想用gdb去查看的,可是后来找了半天并木有找到,但是还是有一点收获的,记录一下. 获取环境变量: #include <stdlib.h>  char * ...

  3. APUE(第八章)进程控制

    进程标识 每个进程都有一个非负整型表示的唯一ID. 由于进程ID总是唯一的,可将其用作其他标识符保证唯一性,比如用进程ID作为名字的一部分创建一个唯一的文件名 进程ID是唯一的但是可以复用.当一个进程 ...

  4. glibc 知:手册12:输入/输出流

    文章目录 1. 前言 2. 输入/输出流 2.1. 流 2.2. 标准流 2.3. 打开流 2.4. 关闭流 2.5. 流和线程 2.6. 国际化应用程序中的流 2.7. 按字符或行的简单输出 2.8 ...

  5. 【正点原子Linux连载】第九章 进程-摘自【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.1

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  6. [c/c++]6. exec函数

    exec image.png 曾提及用fork函数创建新的子进程后,子进程往往要调用一种exec函数以执行另一个程序.当进程调用一种exec函数时,该进程执行的程序完全替换为新程序,而新程序则从其ma ...

  7. Linux进程-命令行参数和环境列表

    命令行参数 在C中,main函数有很多的变种,比如 main(), int main(), int main(int argc, char *argv[]), int main(int argc, c ...

  8. linux 系统时间 硬件时间 及 时区设置

    系统时间 硬件时间 在Linux中有硬件时钟与系统时钟两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中的时钟.所有Linux相关指令与函数都 ...

  9. 当QQ号码也成为稀缺资源

    我记得那时候麻花疼还在为QQ突破100个用户的时候,我还在打RED1,那时候还在上学,啥也不懂,于是QQ流行的时候咱们也跑去网吧申请QQ和别人聊天, 那时候觉得QQ好神奇,不认识的人能在网上胡侃瞎吹, ...

最新文章

  1. 吴恩达教你如何读论文:绘制进度表格,论文至少看三遍,还要问自己问题
  2. oracle 查看表所占用的空间大小
  3. 小K的农场(luogu P1993
  4. Batch Normalization深入理解
  5. 线性表C语言locate和ETget,线性表(数据结构重难点讲解)
  6. C++有用的字符函数库
  7. 2012-04-26 16:08 Director installer fails with error Unable to run run-cds-tool script“
  8. windows环境里React-Native运行失败的原因之一,安卓模拟器未启动
  9. 死锁产生的原因及条件和手写死锁
  10. Differential Geometry之第八章常Gauss曲率曲面
  11. c语言如何扩大字体,C语言图形汉字及放大显示程序
  12. web前端网页界面/css 仿微软官网界面
  13. 灵感专题—2019年优秀网页设计作品赏析#5月
  14. linux安装2870无线网卡,『求助』RaLink雷凌RT2870 无线网卡怎样安装驱动?
  15. Flixel框架介绍一
  16. USB驱动程序(四)——键盘驱动(控制传输)
  17. Java压缩背景透明图片后图片背景变成黑底
  18. 人工神经网络理论及应用pdf,人工智能的相关书籍
  19. Loadrunner 报错: Error: The table 'E:\*性能测试脚本\login1\userName.dat' does not exist.
  20. 卸载程序时总是 显示“请等待当前程序完成卸载或更改”!

热门文章

  1. 如何更高效地在IT职场中摸爬滚打
  2. 【数据结构_选择题】(D21 0519)
  3. 手机维修基础 常见故障分析㈢
  4. 哨向 Mika Lelush 2
  5. 史铁生散文《我与地坛》
  6. 【手绘漫画】图解LeetCode之旋转链表(LeetCode 61题)
  7. SpringBoot2.0整合多数据源拆分
  8. android卸载保留数据,android在卸载应用程序后保留数据库
  9. Wordpress 网站运维 | HTTPS安全证书绑定
  10. php 实现倒计时-将秒数转换为时间(天、小时、分、秒)