getenv, _wgetenv

De RAD Studio
Aller à : navigation, rechercher

Remonter à stdlib.h - Index


Fichier d'en-tête

stdlib.h

Catégorie

Routines de contrôle de processus

Prototype

char *getenv(const char *name);

wchar_t *_wgetenv(const wchar_t *name);

Description

Obtient une variable d'environnement depuis l'environnement système.

L'environnement est composé d'une suite d'entrées de la forme name=string\0.

getenv renvoie la valeur d'une variable spécifiée. name peut être en majuscule ou en minuscule. name ne doit pas inclure le signe égal (=). Si la variable d'environnement spécifiée n'existe pas, getenv renvoie un pointeur NULL.

Pour modifier une variable d'environnement, utilisez putenv, _wputenv.

Remarque : La fonction getenv renvoie un pointeur sur la variable d'environnement, et pas une copie du contenu de la variable. Il est ainsi possible de modifier le contenu de la variable à l'aide du pointeur obtenu, comme dans l'exemple suivant :


Ce n'est pas la méthode recommandée pour modifier le contenu d'une variable d'environnement.

 char *p;
 p = getenv("PROCESSOR_ARCHITECTURE");
 puts(p);
 strcpy(p, "F20");
 p = getenv("PROCESSOR_ARCHITECTURE"); // has no effect on p
 puts(p);

Sortie possible :

x86 F20


Valeur de retour

En cas de succès, getenv renvoie la valeur associée au nom.

Si le nom spécifié n'est pas défini dans l'environnement, getenv renvoie un pointeur NULL.

Exemple

 #include <stdio.h>
 #include <stdlib.h>
 #include <alloc.h>
 #include <string.h>
 
 int main(void)
 {
    char *path, *ptr;
    int i = 0;
    /* get the current path environment */
    ptr = getenv("PATH");
    /* set up new path */
    path = (char *) malloc(strlen(ptr)+15);
    strcpy(path,"PATH=");
    strcat(path,ptr);
    strcat(path,";c:\\temp");
    /* replace the current path and display current environment */
    putenv(path);
    while (_environ[i]){
        printf("%s\n",_environ[i++]);
    }
    return 0;
 }

Portabilité

POSIX Win32 ANSI C ANSI C++

getenv

+

+

+

+

_wgetenv

+


Voir aussi