1.7 KiB
1.7 KiB
alias
alias | ||
---|---|---|
|
up::C primitives système, C variable d'environnement
title:: "getenv
pour obtenir la valeur d'une variables d'environnement"
#informatique/unix
Avec la fonction getenv
- fonction
getenv
de la librairie standard - permet d'obtenir directement la valeur de la variable donnée en argument
- retourne
NULL
si la variable n'est pas définie
signature de la fonction :
char * getenv(const char *nom_variable)
Exemple
#include<stdio.h>
#include<stdlib.h>
void main (int argc, char *argv[], char **arge) {
char *VAR;
if ( (VAR = getenv("PATH")) != NULL )
fprintf(stdout, "Valeur PATH = %s", VAR);
else
fprintf(stderr, "VARIABLE PATH NON DEFINIE !");
}
Avec l'argument arge
dans main
On utilise le tableau arge
, qui est donné en argument par défaut est un tableau :
- chaque élément est un pointeur
- vers une chaîne de caractère de la forme :
nom_de_la_variable=valeur_de_la_variable
- pour chaque
- vers une chaîne de caractère de la forme :
Exemple
#include<stdio.h>
int main (int argc, char *argv[], char **arge) {
int i;
for ( i=0; arge[i] != NULL; i++) {
puts(arge[i]);
}
}
Avec la variable environ
- même tableau que
arge
- peut être défini comme une variable globale
- ici, on le re-définit localement, pour ne pas modifier la variable globalement
Exemple
#include<stdio.h>
extern char **environ;
int main (int argc, char *argv[], char **arge) {
extern char **environ;
char **env;
env = environ; /* préserve environ */
while ( *env != NULL )
puts( *env++);
}