getenv, _wgetenv

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Stdlib.h - Index


Header-Datei

stdlib.h

Kategorie

Prozesssteuerungsroutinen

Prototyp

char *getenv(const char *name);

wchar_t *_wgetenv(const wchar_t *name);

Beschreibung

Ermittelt eine Umgebungsvariable aus der Systemumgebung.

Die Umgebungsvariablen bestehen aus einer Reihe von Einträgen der Form name=string\0.

getenv gibt den Wert der angegebenen Variable zurück. name kann in Groß- oder Kleinbuchstaben angegeben werden, darf jedoch kein Gleichheitszeichen (=) enthalten. Ist die angegebene Umgebungsvariable nicht vorhanden, gibt getenv einen NULL-Zeiger zurück.

Verwenden Sie zum Bearbeiten einer Umgebungsvariable putenv, _wputenv.

Hinweis: Die Funktion getenv gibt einen Zeiger auf die Umgebungsvariable - keine Kopie des Inhalts der Variable - zurück. Daher ist es möglich, den Inhalt der Variable mit dem ermittelten Zeiger, wie in dem folgenden Beispiel, zu ändern:


Dieses Vorgehen zum Ändern des Inhalts einer Umgebungsvariable wird nicht empfohlen.

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

Mögliche Ausgabe:

x86 F20


Rückgabewert

Bei Erfolg gibt getenv den dem Namen zugeordneten Wert zurück.

Ist keine Umgebungsvariable mit dem angegebenen Namen vorhanden, gibt getenv einen NULL-Zeiger zurück.

Beispiel

 #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ät

POSIX Win32 ANSI C ANSI C++

getenv

+

+

+

+

_wgetenv

+


Siehe auch