Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.7.KONSOLAOKIEMPROGRAMISTY
Język
C/C++
C/C++
Java
Metoda
Przykładowykod
main
#include<stdio.h>
intmain(intargc,char**argv,char**envp){
for(inti=0;envp[i]!=NULL;i++){
printf("%i:%s\n",i,envp[i]);
}
return0;
}
std.biblioteka
#include<stdio.h>
#include<stdlib.h>
intmain(void){
puts(getenv("PATH"));
return0;
}
std.biblioteka
classenv{
publicstaticvoidmain(String[]args){
System.out.println(System.getenv("PATH"));
//Patrzrównież:os.getenv()
}
}
Wartowspomniećjeszczeokilkuinnychmetodachdostępudozmiennychśrodo-
wiskowychzależnychodsystemuoperacyjnego:
WniektórychsystemachopartychnajądrzeLinuxpoczątkowezmienneśrodowi-
skowedanegoprocesuznajdująsięrównieżwpseudopliku/proc/<pid>/environ.
WjęzykuCwprzypadkupewnychsystemówunixowychistniejezmiennaglobalna
char**environlubchar**--environ,któraposiadatablicęzmiennych
środowiskowychanalogicznądoenvp.
WinAPIposiadadodatkowefunkcjedooperowanianazmiennychśrodowisko-
wychnp.GetEnvironmentVariableorazCreateEnvironmentBlock.
Dlawszystkichwymienionychfunkcjipobierającychzmienneśrodowiskowe,rozpoczy-
nającychsięodget*lubGet*,istniejąrównieżodpowiednikimodyfikująceblokzmien-
nychśrodowiskowychdanegoprocesu,którychnazwyzazwyczajbrzmiąidentycznie,ale
zaczynająsięodczasowników:set,putlubunset.Oprócztego,jakwspomniałemwcześniej,
możnazdefiniowaćzupełnienowyblokzmiennychśrodowiskowychdlaprocesupotomnego
podczasjegotworzeniaumożliwiajątoposzczególnefunkcjeuruchamiająceprogramy,
np.execveczyCreateProcess.
Ponadtosystemyoperacyjne,jakisamekonsole,częstoudostępniająmożliwośćdo-
datkowegokonfigurowaniaterminalu,sposobuwyświetlaniadanychczyodbioruinnych
zdarzeńodużytkownika(np.pozycjimyszki).Tabela6zawierakrótkąwskazówkę,gdzie
szukaćinformacjioAPIkonsolowym.
43