std::getenv
| Definiert in Header <cstdlib> |
||
| char* getenv( const char* env_var ); |
||
Durchsucht die vom Host-System (dem Betriebssystem) bereitgestellte Umgebungsliste nach einem String, der mit dem von env_var zeigenden C-String übereinstimmt, und gibt einen Zeiger auf den C-String zurück, der mit dem übereinstimmenden Element der Umgebungsliste assoziiert ist.
|
Diese Funktion muss nicht threadsicher sein. Ein anderer Aufruf von |
(bis C++11) |
|
Diese Funktion ist threadsicher (ihr Aufruf aus mehreren Threads führt zu keinem Datenrennen), solange keine andere Funktion die Host-Umgebung modifiziert. Insbesondere würden die POSIX-Funktionen |
(seit C++11) |
Das Modifizieren des von getenv zurückgegebenen Strings führt zu undefiniertem Verhalten.
Inhalt |
[bearbeiten] Parameter
| env_var | - | null-terminierter Zeichenkettenstring, der den Namen der zu suchenden Umgebungsvariable angibt |
[bearbeiten] Rückgabewert
Zeichenkettenstring, der den Wert der Umgebungsvariable angibt, oder ein Nullzeiger, wenn die Variable nicht gefunden wird.
[bearbeiten] Hinweise
Auf POSIX-Systemen sind die Umgebungsvariablen auch über die globale Variable environ zugänglich, die als extern char** environ; in <unistd.h> deklariert ist, sowie über das optionale dritte Argument envp von der main-Funktion.
[bearbeiten] 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
[bearbeiten] Siehe auch
| C-Dokumentation für getenv
|