std::getenv
| Definiert in Header <cstdlib>
|
||
char* getenv( const char* env_var );
|
||
Durchsucht die Umgebungsliste, die von der Host-Umgebung (dem Betriebssystem) bereitgestellt wird, nach einer Zeichenkette, die mit der C-Zeichenkette übereinstimmt, auf die env_var zeigt, und gibt einen Zeiger auf die C-Zeichenkette zurück, die dem übereinstimmenden Element der Umgebungsliste zugeordnet ist.
|
Diese Funktion muss nicht threadsicher sein. Ein weiterer Aufruf von |
(bis C++11) |
|
Diese Funktion ist threadsicher (ein Aufruf aus mehreren Threads führt keinen Datenwettlauf herbei), solange keine andere Funktion die Host-Umgebung verändert. Insbesondere würden die POSIX-Funktionen |
(seit C++11) |
Das Ändern der von getenv zurückgegebenen Zeichenkette führt zu undefiniertem Verhalten.
Parameter
| env_var | - | nullterminierte Zeichenkette, die den Namen der zu suchenden Umgebungsvariable identifiziert |
Rückgabewert
Zeichenkette, die den Wert der Umgebungsvariable identifiziert, oder Nullzeiger, falls eine solche Variable nicht gefunden wurde.
Hinweise
Auf POSIX-Systemen sind die
Umgebungsvariablen
auch über die globale Variable
environ
zugänglich, deklariert als
extern
char
**
environ
;
in
<unistd.h>
, sowie über das optionale dritte Argument,
envp
, der
main-Funktion
.
Beispiel
#include <cstdlib> #include <iostream> int main() { if (const char* env_p = std::getenv("PATH")) std::cout << "Your PATH is: " << env_p << '\n'; }
Mögliche Ausgabe:
Your PATH is: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Siehe auch
|
C-Dokumentation
für
getenv
|