在C中打印所有环境值

时间:2018-12-03 19:15:38

标签: c environment-variables

所以我得到了所有环境变量:

int main(int argc, char **argv, char **envp)
{
  for (char **env = envp; *env != 0; env++)
  {
    char *thisEnv = *env;
    printf("%s\n", thisEnv);
  }
  return 0;
}

如何在C中获取所有环境变量(仅值)。

我知道可以使用getenv,但是我不知道如何在for中使用它。

2 个答案:

答案 0 :(得分:1)

仅打印很简单-只需找到 DB::connection('empresa'); 的第一个实例,然后将指针增加一个即可:

rate()

现在,如果您需要将变量名称作为以空字符结尾的字符串,那将更加棘手-因为您可能不应该就地修改环境变量,因此将名称复制到另一个数组。

答案 1 :(得分:1)

类似的东西:

for (char **env = envp; *env != 0; env++)
{
    char *thisEnv = *env;
    printf("%s\n", strchr(thisEnv, '=')+1);
}

也许吗?

请注意,这假设您的系统上没有空的环境变量。