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"
#s/informatique/unix
Avec la fonction getenv
- fonction getenvde la librairie standard
- permet d'obtenir directement la valeur de la variable donnée en argument
- retourne NULLsi 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++);
}