From b7b146aefa2643b9837e8c1b6661c30d6409ce38 Mon Sep 17 00:00:00 2001 From: Blau Araujo Date: Sat, 5 Apr 2025 08:58:15 -0300 Subject: [PATCH] exemplos de acesso ao ambiente --- aulas/09-args/envp.c | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/aulas/09-args/envp.c b/aulas/09-args/envp.c index cbb4293..1702561 100644 --- a/aulas/09-args/envp.c +++ b/aulas/09-args/envp.c @@ -1,22 +1,33 @@ #include +#include + +extern char **environ; + +void print_list(char *list[]); + +int main(int argc, char **argv, char **envp) { + + // Listando ponteiro 'environ'... + print_list(environ); + putchar('\n'); + + // Função getenv... + char *env = getenv("SHELL"); + printf("env = %s\n", env); + putchar('\n'); + + // Listando parâmetro 'envp'... + print_list(envp); + + return 0; +} void print_list(char *list[]) { int i = 0; while (list[i] != NULL) { - printf("[%d] => %s\n", i, list[i]); + printf("[%d] => %p => %s\n", i, list[i], list[i]); i++; } } - -int main(int argc, char **argv, char **envp) { - - // O vetor de ambiente (envp) é um vetor de strings - // terminado com um ponteiro nulo (NULL)... - - print_list(envp); - - return 0; -} -