How to print the environment variables in C

2 Answers

0 votes
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

extern char **environ;

int main(int argc, char *argv[]) {

    if (environ != NULL) {
        char **s = environ;
        for (; *s; s++) {
            printf("%s\n", *s);
        }
    } else {
        printf("environ not found\n");
    }

    return 0;
}



/*
run:

PATHEXT=.COM;.EXE; ...
POWERSHELL_DISTRIBUTION_CHANNEL=MSI:Windows 10 
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 3 ...
PROCESSOR_LEVEL=3
PROCESSOR_REVISION=1234
ProgramData=C:\abc
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
...

*/

 



answered May 4, 2021 by avibootz
0 votes
#include <stdio.h>

int main(int argc, char **argv, char **envp) {

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

    return 0;
}




/*
run:
 
PATHEXT=.COM;.EXE; ...
POWERSHELL_DISTRIBUTION_CHANNEL=MSI:Windows 10 
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 3 ...
PROCESSOR_LEVEL=3
PROCESSOR_REVISION=1234
ProgramData=C:\abc
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
...
 
*/

 



answered May 5, 2021 by avibootz

Related questions

2 answers 137 views
1 answer 139 views
1 answer 144 views
144 views asked Aug 24, 2020 by avibootz
1 answer 155 views
155 views asked Jan 13, 2017 by avibootz
1 answer 175 views
1 answer 564 views
...