【问题标题】:Getting the environment variables for the current process on Linux获取 Linux 上当前进程的环境变量
【发布时间】:2012-06-14 16:27:40
【问题描述】:

我正在尝试将应用程序从 Windows 移植到 Linux。在 Windows 中,我有一个 windows.h 中的 GetEnvironmentStrings() 函数,它为我提供了当前进程中的环境变量及其值 NAME=VALUE 的形式。

是否有一个等效的 Linux 函数调用?我需要一个 C 函数。 这在 Linux 上如何实现?

【问题讨论】:

  • 这是什么语言的? env 是一个显示当前环境的 linux 命令
  • 我知道 set 也可以用来显示所有环境变量。但我需要一个 C 函数。
  • stdlib.h 中有一个getenv 命令。也可以直接访问环境变量environ

标签: c linux environment-variables porting


【解决方案1】:

可以通过变量extern char **environ;访问环境变量。

Read more:

环境变量的值是一个字符串。对于 C 语言程序,一个称为环境的字符串数组应在进程开始时可用。该数组由外部变量environ指向,定义为:

extern char **environ;

这些字符串的格式为name=value

【讨论】:

    【解决方案2】:

    getenv()
    符合 SVr4、POSIX.1-2001、4.3BSD、C89、C99。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-15
      • 1970-01-01
      • 2020-10-29
      • 2014-06-04
      • 1970-01-01
      • 1970-01-01
      • 2016-04-08
      相关资源
      最近更新 更多