Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
putenv - Umgebungsvariable ändern oder hinzufügen
&pagelevel(4)&pagelevel
Definition | #include <stdlib.h> int putenv (const char *string); putenv() ändert den Wert einer vorhandenen Umgebungsvariablen oder definiert eine neue Umgebungsvariable. string muß auf eine Zeichenkette der Form "name=value" zeigen. name steht für den Namen einer Umgebungsvariablen, value für den ihr zugewiesenen Wert. Wenn name mit einer existierenden Umgebungsvariablen identisch ist, wird der zugehörige Wert value mit der neuen Angabe überschrieben. Wenn name eine neue Umgebungsvariable ist, wird die Umgebung um diese erweitert. In jedem Fall wird string Teil der Umgebung und ändert damit die Umgebung.
Der von string belegte Speicherplatz wird nicht mehr verwendet, wenn putenv() einer vorhandenen Umgebungsvariablen einen neuen Wert zuweist. |
Returnwert | 0 | bei Erfolg |
| != 0 | bei Fehler, z.B. wenn nicht genügend Speicherplatz vorhanden ist. errno wird gesetzt, um den Fehler anzuzeigen. |
Fehler | putenv() schlägt fehl, wenn gilt: |
| ENOMEM
| Es steht nicht genügend Speicherplatz zur Verfügung. |
Hinweise | putenv() verändert die Umgebung, auf die environ zeigt, und kann in Verbindung mit getenv() verwendet werden.
putenv() kann malloc() verwenden, um die Umgebung zu vergrößern.
Eine mögliche Fehlerquelle ist der Aufruf von putenv() mit einer automatischen Variablen als Argument und einer anschließenden Rückkehr von der aufrufenden Funktion, während string noch immer Teil der Umgebung ist. Beim Start eines Programms wird neben den Voreinstellungen für die Umgebung auch die S-Variable SYSPOSIX als Umgebungsdefinition ausgewertet (siehe Abschnitt "Umgebungsvariablen“ ). putenv() verändert die S-Variable jedoch nicht, sondern modifiziert die Umgebung nur für den aktuellen Programmlauf. |
Siehe auch | environ, getenv, malloc, stdlib.h |