putenv, _wputenv

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu stdlib.h - Index


Header-Datei

stdlib.h

Kategorie

Prozesssteuerungsroutinen

Prototyp

int putenv(const char *name);

int _wputenv(const wchar_t *name);

Beschreibung

Fügt einen String in die aktuelle Umgebung ein.

putenv akzeptiert den String name und fügt ihn in die Umgebung des aktuellen Prozesses ein. Beispielsweise

putenv("PATH=C:\\BC");

Mit putenv kann auch eine schon vorhandene Umgebungsvariable geändert werden. name kann in Groß- oder Kleinbuchstaben angegeben werden, darf aber kein Gleichheitszeichen (=) enthalten. Sie können eine Variable auf einen leeren Wert setzen, indem Sie rechts von dem Gleichheitszeichen '=' einen leeren String angeben.

Mit putenv kann die Umgebung _environment des aktuellen Programms geändert werden. Endet das Programm, wird der alte Wert von _environment wiederhergestellt. Die Umgebung des aktuellen Prozesses wird an untergeordnete Prozesse weitergegeben, einschließlich der Änderungen, die mit putenv vorgenommen wurden.

Beachten Sie, dass der putenv übergebene String als static oder global deklariert werden muss. Wird ein lokaler oder als dynamic deklarierter String übergeben und von putenv verwendet, nachdem der für den String reservierte Speicher freigegeben wurde, sind die Ergebnisse nicht vorhersehbar.

Rückgabewert

Wenn erfolgreich, gibt putenv 0 zurück; bei einem Fehler -1.

Beispiel

#include <stdio.h>
#include <stdlib.h>
#include <alloc.h>
#include <string.h>
int main(void)
{
   char *path, *ptr;
   int i = 0;
   /* Aktuellen PATH-Parameter abrufen */
   ptr = getenv("PATH");
   /* Neue Pfadangabe einfügen */
   path = (char *) malloc(strlen(ptr)+15);
   strcpy(path,"PATH=");
   strcat(path,ptr);
   strcat(path,";c:\\temp");
   /* Aktuellen PATH-Parameter und alle Umgebungsvariablen anzeigen */
   putenv(path);
   while (_environ[i])
       printf("%s\n",_environ[i++]);
   return 0;
}

Portabilität

POSIX Win32 ANSI C ANSI C++

putenv

+

_wputenv

nur NT


Siehe auch