Jak wypisać wartość zmiennych środowiskowych
Aby wyświetlić wartość zmiennych środowiskowych trzeba w funkcji main()
dodać dodatkowe argumenty(jeżeli takowych nie ma), a nastęnie wykonać pętle która wypisze zmienne...całość wygląda tak:
Dodam, że znalazłem to przeglądając zasoby sieci:D
Autor poprawki: komputer098
Chciałbym zaprezentować inną funkcję tego działania, mianowicie:
Przykład:
Podaję także wszystkie parametry tej funkcji, lecz niektóre zostały stworzone do współpracy z konkretnym systemem, inne nie działają. Nie opisuję ich, dla ciekawskich pozostawiam to do sprawdzenia samemu:
APPEND
BLASTER
COMSPEC
COPYCMD
DIRCMD
DOSSHELL
MSDOSDATA
NO_SEP
PATH
PROMPT
TEMP
TZ
CMDLINE
COMPUTERNAME
TMP
winbootdir
windir
WINPMT
ALLUSERSPROFILE
APPDATA
CD
CMDCMDLINE
CMDEXTVERSION
COMMONPROGRAMFILES
DATE
ERRORLEVEL
HOMEDRIVE
HOMEPATH
HOMESHARE
LOGONSERVER
MORE
NUMBER_OF_PROCESSORS
OS
OS2LIBPATH
PATHEXT
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFER
PROCESSOR_LEVEL
PROCESSOR_REVISION
PROGRAMFILES
RANDOM
SESSIONNAME
SYSTEMDRIVE
SYSTEMROOT
TIME
USERDOMAIN
USERNAME
USERPROFILE
dodać dodatkowe argumenty(jeżeli takowych nie ma), a nastęnie wykonać pętle która wypisze zmienne...całość wygląda tak:
main(int argc, char *argv[], char *env[]) { while(*env) { printf("%s\n",*env++); } system("PAUSE"); return 0; }
Dodam, że znalazłem to przeglądając zasoby sieci:D
Autor poprawki: komputer098
Chciałbym zaprezentować inną funkcję tego działania, mianowicie:
#include <vcl.h> char *getenv( const char * ) ;
Przykład:
#include <vcl.h> #include <string.h> main() { char *zmienna ; cout << "Nazwa aktualnie zalogowanego uzytkownika : " << getenv( "USERNAME" ).c_str() ; cin << zmienna ; } ;
Podaję także wszystkie parametry tej funkcji, lecz niektóre zostały stworzone do współpracy z konkretnym systemem, inne nie działają. Nie opisuję ich, dla ciekawskich pozostawiam to do sprawdzenia samemu:
APPEND
BLASTER
COMSPEC
COPYCMD
DIRCMD
DOSSHELL
MSDOSDATA
NO_SEP
PATH
PROMPT
TEMP
TZ
CMDLINE
COMPUTERNAME
TMP
winbootdir
windir
WINPMT
ALLUSERSPROFILE
APPDATA
CD
CMDCMDLINE
CMDEXTVERSION
COMMONPROGRAMFILES
DATE
ERRORLEVEL
HOMEDRIVE
HOMEPATH
HOMESHARE
LOGONSERVER
MORE
NUMBER_OF_PROCESSORS
OS
OS2LIBPATH
PATHEXT
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFER
PROCESSOR_LEVEL
PROCESSOR_REVISION
PROGRAMFILES
RANDOM
SESSIONNAME
SYSTEMDRIVE
SYSTEMROOT
TIME
USERDOMAIN
USERNAME
USERPROFILE
3 komentarze
Ach, zapomniałem dodać: jak napisano poniżej, jeżeli wywołanie zmiennej się nie powiedzie, funkcja zwraca wartość NULL.
Fragment stdlib.h:
char* getenv(const char* name);/*returns environmental variable, if it don't exist NULL will be returned*/
Więc można pobrać to inaczej.
#include <vcl.h> <- to wali Borlandem czy się mylę?