(Linux/Unix) Umgebungsvariablen



  • Hallo Forum,
    ich möchte in einer Klasse auf das gesammte Environment eines Programms zugreifen. Mit

    char *getenv(const char *name);
    

    kann ich nur auf Variablen zugreifen die ich kenne und mit

    int main ( int argc, char** argv, char** env){/*..*/}
    

    habe ich das Zeug nur in der main, ergo: nutzbar aber unschön.
    Dann habe ich noch ( edit )

    #include <unistd.h>
    extern char **environ;
    

    gefunden. Dass ist schon ganz schön, aber sehr C-Style und mit

    #ifdef __USE_GNU
    extern char **environ;
    #endif
    

    sehr unportabel.
    Gibt es nicht eine Möglichkeit den Zeiger char** env durch einen Systencall zu ermitteln?
    Danke für Tipps!

    Mario

    PS: Sollte das hier OT sein weil es Unix spezifisch ist bitte verschieben. Ich arbeite nur unter Unix und kann nicht einschätzen was nun allgemein ist und was nicht! Danke

    [ Dieser Beitrag wurde am 23.04.2003 um 12:27 Uhr von Peanut editiert. ]


Anmelden zum Antworten