====== setenv() ====== ''unsetenv()'' ist in der ''[[c:lib:stdlib:start|stdlib]]'' definiert, die in C über ''stdlib.h'', bzw in C++ über ''cstdlib'' eingebunden wird. ===== Funktion ===== ''unsetenv()'' löscht aus dem [[Enviroment]] eine Systemvariable und gibt den dafür benötigten Speicher frei. ===== Signatur ===== #include int setenv( char const * name, char const * value, int override ); **name**: Name der zu löschenden Systemvariablen \\ \\ **Return Value**: 0 bei Erfolg, im Fehlerfall den Wert -1, wobei ein errno gesetzt wird: ^ errno ^ Bedeutung ^^ | EINVAL | Invalid Value: ''name'' ist NULL, zeigt auf einen leeren String oder enthält ein '='-Zeichen | ===== Fehlerquellen ===== - ===== Beispiel ===== #include #include int main (void) { char *user; char const * varname = "USER"; user = getenv( varname ); printf( "Dieser Prozess wurde vom Benutzer '%s' gestartet.\n", user ); if( unsetenv( varname )) printf( "Nicht überschreiben: Funktion meldet Fehler\n" ); user = getenv( varname ); if( user ) printf( "USER entspricht weiterhin '%s'.\n", user ); else printf( "Variable USER existiert nicht.\n" ); return EXIT_SUCCESS; } **Ausgabe** \\ Dieser Prozess wurde vom Benutzer 'xin' gestartet. Variable USER existiert nicht. ===== siehe auch ===== [[c:lib:stdlib:]]: [[clearenv()]], [[getenv()]], [[putenv()]], [[setenv()]], [[c:lib:stdlib:Enviroment]]