Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
getenv() gibt immer NULL zurück

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Boron
Gast





BeitragVerfasst am: 10. Nov 2001 17:22   Titel: getenv() gibt immer NULL zurück

Servus,

mit getenv() kann den Wert einer Umgebungsvariable in ein C/C++-Programm übernehmen. Das sagt zumindest die manpage.
Wenn ich nun die "Auflösung" einer Konsole (sollte meist bei 80x25 sein) herausfinden will, frage ich doch einfach nach den Umgebungsariablen LINES und COLUMNS (wenns nicht stimmt bitte korrigieren)? Also etwa so:
code:
char* lines = getenv( "LINES");
char* cols = getenv( "COLUMNS");

Wenn ich auf der Konsole "echo $LINES $COLUMNS" eingebe kommt als Ergebnis auch "25 80" heraus.
Der Rückgabe wert von getenv() sollte ein Zeiger auf den Wert der Variablen liefern. Wenn ich nun z.B. int zahl = atoi( lines) ausführen will sollte eigentlich zahl den Wert 25 bekommen. Bei mir allerdings wird immer NULL von getenv() zurückgegeben.
Sobald das Programm also das atoi( lines) ausführen will habe ich immer einen Speicherzugriffsfehler (der Compiler läuft wunderbar durch).

Kann auf die Umgebungsvariablen LINES und COLUMNS evtl. gar nicht zugegriffen werden(ich will ja nur lesen)?
Wenn ja, gibt es andere Möglichkeiten die "Auflösung" einer Konsole in C++ festzustellen?

Danke
Gruss Boron
 

Jochen
Gast





BeitragVerfasst am: 11. Nov 2001 16:09   Titel: Re: getenv() gibt immer NULL zurück

Nur testeshalber: Mach mal vor Aufruf Deines Programmes ein "export LINES COLUMNS". Erst dadurch wird aus den Shell-Variablen Environment-Variablen...

Jochen
 

Boron
Gast





BeitragVerfasst am: 11. Nov 2001 20:54   Titel: Re: getenv() gibt immer NULL zurück

Genau das wars. Danke Jochen.
So und jetzt habe ich sogar gelernt, dass es nicht nur Umgebungsvariablen gibt, sondern auch noch Shellvariablen.
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy