std:: getenv
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Program termination | |||||||||||||||||||||
|
|||||||||||||||||||||
| Unreachable control flow | |||||||||||||||||||||
|
(C++23)
|
|||||||||||||||||||||
| Communicating with the environment | |||||||||||||||||||||
|
|||||||||||||||||||||
| Signals | |||||||||||||||||||||
| Signal types | |||||||||||||||||||||
| Non-local jumps | |||||||||||||||||||||
| Types | |||||||||||||||||||||
|
Definiert in Header
<cstdlib>
|
||
|
char
*
getenv
(
const
char
*
env_var
)
;
|
||
Durchsucht die
environment list
(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 gefundenen Mitglied der Environment-Liste zugeordnet ist.
|
Diese Funktion muss nicht thread-sicher sein. Ein weiterer Aufruf von
|
(bis C++11) |
|
Diese Funktion ist thread-sicher (der Aufruf aus mehreren Threads führt nicht zu einem Data Race), solange keine andere Funktion die Host-Umgebung modifiziert. Insbesondere würden die POSIX-Funktionen
|
(seit C++11) |
Das Ändern der Zeichenkette, die von
getenv
zurückgegeben wird, ruft undefiniertes Verhalten hervor.
Inhaltsverzeichnis |
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
|