Printing all environment variables in C / C++

c, c++

Solution

The environment variables are made available to `main()` as the `envp` argument - a null terminated array of strings:

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

Problem

How do I get the list of all environment variables in C and/or C++? I know that `getenv` can be used to read an environment variable, but how do I list them all?

Original source