Ako získať prístup k prostrediu v C++

Ako Ziskat Pristup K Prostrediu V C



C++ je najefektívnejší vysokoúrovňový jazyk pre programovanie. C++ nám uľahčuje množstvo knižníc funkcií a umožňuje nám zvládnuť výnimky a preťaženie funkcie. Prostredie v C++ môžeme získať aj pomocou funkcie getenv(). Tieto premenné prostredia sa nachádzajú v operačnom systéme, na ktorom fungujú všetky programovacie jazyky a je možné k nim nejakým spôsobom pristupovať. Funkcia getenv() poskytuje programovaciemu jazyku C++ prístup k týmto schopnostiam. Pomocou metódy getenv() v C++ sa ako parameter vráti ukazovateľ na reťazec C, ktorý obsahuje obsah dodaných premenných prostredia. Tu sa naučíme tento koncept a pomocou príkladov si overíme, ako budeme pristupovať k prostrediu v našom programovaní v C++.

Príklad 1:

Začneme tu jednoducho prvým príkladom. Na vytvorenie kódov C++ potrebujeme nejaké hlavičkové súbory. Do tohto kódu teda zahrnieme hlavičkové súbory, ktoré požadujeme. Hlavičkový súbor „iostream“ je nevyhnutný, pretože v tomto kóde potrebujeme zobraziť niektoré údaje a tento hlavičkový súbor podporuje funkciu „cout“. Potom máme „cstdlib“; táto hlavička poskytuje množinu metód, ako je metóda „getenv()“.

Teraz pridáme „namespace std“, takže v našom kóde nemusíme pridávať „std“ s funkciami „cout()“. Potom sa zavolá funkcia „main()“. Potom umiestnime „char*“, čo je ukazovateľ s názvom „var_1“. Potom do tejto premennej „var_1“ umiestnime funkciu „getenv()“ a ako jej parameter odovzdáme „SESSIONNAME“.







Potom pridáme podmienku „if“, ktorá kontroluje, či sa „var_1“ nerovná „NULL“. Ak „var_1“ nie je null, najprv vypíše názov premennej prostredia. Potom v ďalšom riadku vypíše hodnotu tejto premennej. Ak je však „var_1“ „NULL“, nezobrazí sa tam žiadna správa a kód sa ukončí.



Kód 1:



#include
#include
použitím menný priestor std ;
int Hlavná ( )
{
char * was_1 ;
was_1 = gettenv ( „SESSIONNAME“ ) ;
ak ( was_1 ! = NULOVÝ )
cout << 'Názov premennej je SESSIONNAME' << endl ;
cout << 'Premenná prostredia je: ' << was_1 ;
vrátiť 0 ;
}

Výkon :
Tento výstup vykreslí názov premennej prostredia, ktorú pridáme ako parameter funkcie „getenv()“ a hodnotu tejto premennej prostredia. Túto hodnotu získame pomocou funkcie „getenv()“ v našom kóde.





Príklad 2:

Teraz máme ďalší príklad. Náš kód začneme zahrnutím potrebných hlavičkových súborov. Potom napíšeme „namespace std“. Potom pristúpime k funkcii „main()“, v ktorej vytvoríme ukazovateľ „char*“ s názvom „newEnv_var“ a inicializujeme ho názvom premennej prostredia „Path“. Potom pridáme ďalší „char*“, ktorý je tu tiež ukazovateľom a pomenujeme ho „mojaHodnota“.



Teraz inicializujeme premennú „myValue“ funkciou „getenv()“ a odovzdáme „newEnv_var“ tejto funkcii „getenv()“; je to parameter tejto funkcie. Táto premenná „newEnv_var“ obsahuje názov premennej prostredia, keď ju inicializujeme pomocou „PATH“. Ďalej sa pridá podmienka „if“, aby sa určilo, či je „mojaHodnota“ ekvivalentná „NULL“ alebo nie. Ak „mojaHodnota“ nie je null, najprv sa vytlačí názov premennej prostredia a potom hodnota premennej v ďalšom riadku. Ak je však „myValue“ nastavené na „NULL“, nezobrazí sa žiadne hlásenie a kód tu končí.

Kód 2:

#include
#include
použitím menný priestor std ;
int Hlavná ( )
{
char * newEnv_var = 'CESTA' ;
char * myValue ;
myValue = gettenv ( newEnv_var ) ;
ak ( myValue ! = NULOVÝ ) {
cout << 'Premenná =' << newEnv_var << endl ;
cout << 'Hodnota =' << myValue << endl ;
}
inak
cout << 'Premenná neexistuje!' << myValue ;
vrátiť 0 ;
}

Výkon:
Teraz na termináli ukazuje hodnotu premennej prostredia „PATH“, ktorú získame pomocou funkcie „getenv()“ v našom kóde. Na každom počítači sa líši, pretože cesta na každom počítači je iná.

Príklad 3:

Tu je ďalší príklad: na začiatok nášho kódu napíšeme „namespace std“ po začlenení požadovaných hlavičkových súborov „iostream“ a „cstdlib“. Ďalej zadáme metódu „main()“, kde vygenerujeme ukazovateľ „char*“ s názvom „myVar“ a inicializujeme názov premennej prostredia „PUBLIC“.

Ďalej vytvoríme nový „char*“ s názvom „myValue“; toto je tiež ukazovateľ. Teraz, keď je „myVar“ dodané do funkcie „getenv()“, pomocou ktorej inicializujeme premennú „myValue“, je to argument funkcie. Keďže ho inicializujeme s „PUBLIC“, názov premennej prostredia je obsiahnutý v tejto premennej „myVar“.

Potom, aby sa zistilo, či sa „myValue“ rovná „NULL“ alebo nie, sa pridá podmienka „if“. Názov premennej prostredia sa na obrazovke zobrazí ako prvý, ak „myValue“ nie je null, a hodnota premennej sa zobrazí na ďalšom riadku. Potom tu máme pridanú druhú časť, ktorá sa vykoná, ak daná podmienka nie je splnená. Tu vytlačíme správu, ktorá nám povie, že „Premenná sa tu nenašla“.

Kód 3:

#include
#include
použitím menný priestor std ;
int Hlavná ( )
{
char * myVar = 'VEREJNOSŤ' ;
char * myValue ;
myValue = gettenv ( myVar ) ;
ak ( myValue ! = NULOVÝ ) {
cout << 'Premenná =' << myVar << endl ;
cout << 'Je to hodnota = ' << myValue << endl ;
}
inak
cout << 'Premenná sa tu nenašla..!!' << myValue ;
vrátiť 0 ;
}

Výkon:
V tomto výstupe sa vykreslí názov premennej prostredia, ktorú pridáme ako parameter do funkcie „getenv()“ spolu s jej hodnotou. Túto hodnotu môžeme získať pomocou funkcie „getenv()“ nášho kódu.

Príklad 4:

Tu vytvoríme pole konštantných znakov s názvom „NewEnv_var[]“ s veľkosťou „6“. Potom do tohto poľa odovzdáme všetky možné premenné prostredia. Pod tým máme ďalšie pole s názvom „char *env_value[]“ s rovnakou veľkosťou „6“. Teraz máme cyklus „for“ a zacyklíme všetky tieto premenné prostredia z funkcie „getenv()“, aby sme získali hodnoty všetkých týchto premenných a uložili ich do poľa „env_value“. Do tohto cyklu „for“ tiež umiestnime podmienku „if“, ktorá kontroluje, či je hodnota prostredia nulová. Ak hodnota nie je null, vypíše hodnotu a názov premennej. Ak je null, zobrazí sa správa, že premenná prostredia tu neexistuje.

Kód 4:

#include
#include
použitím menný priestor std ;
int Hlavná ( )
{
konšt char * NewEnv_var [ 6 ] = { 'VEREJNOSŤ' , 'DOMOV' , „SESSIONNAME“ , 'LIB' , 'SystemDrive' , 'DELTREE' } ;
char * env_value [ 6 ] ;
pre ( int a = 1 ; a <= 6 ; a ++ )
{
env_value [ a ] = gettenv ( NewEnv_var [ a ] ) ;
ak ( env_value [ a ] ! = NULOVÝ )
cout << 'Premenná je' << NewEnv_var [ a ] << “ a je to „Hodnota=“ << env_value [ a ] << endl ;
inak
cout << NewEnv_var [ a ] << 'tu neexistuje' << endl ;
}
}

Výkon:
Tu zobrazuje všetky možné hodnoty premennej prostredia a tiež zobrazuje správu, že „HOME“, „LIB“ a „DELTREE“ neexistujú, čo znamená, že ich hodnota je NULL.

Príklad 5:

Teraz poďme ďalej. Toto je posledný príklad tohto návodu. Tu vytvoríme konštantné pole znakov veľkosti „4“ s názvom „Variable[]“, do ktorého poskytujeme všetky potenciálne premenné prostredia. Teraz používame cyklus „for“. Pod tým je ďalšie pole s rovnakou veľkosťou „4“ s názvom „char *values[]“ a umiestnime tam funkciu „getenv()“ a ako jej parameter odovzdáme „premennú[i]“. Tento cyklus sa používa na iteráciu všetkých premenných prostredia, získavanie ich hodnôt z funkcie „getenv()“ a ich uloženie do poľa „values[]“.

Do tohto cyklu „for“ zahrnieme podmienku „if“, ktorá určuje, či je hodnota prostredia nulová alebo nie. Hodnota a názov premennej sa vytlačia, ak hodnota nie je nulová, a ak je NULL, zobrazí sa správa, ktorá je uvedená v časti „else“.

Kód 5:

#include
použitím menný priestor std ;
int Hlavná ( ) {
konšt char * premenlivý [ 4 ] = { 'VEREJNOSŤ' , 'DOMOV' , 'DELTREE' , 'LOGNAME' } ;
pre ( int i = 0 ; i <= 4 ; i ++ )
{
konšt char * hodnoty = gettenv ( premenlivý [ i ] ) ;
ak ( hodnoty ! = NULOVÝ ) {
cout << premenlivý [ i ] << ' = ' << hodnoty << endl ;
}
inak {
cout << premenlivý [ i ] << 'Tu sa nenašiel!' << endl ;
}
}
vrátiť 0 ;
}

Výkon:
V tomto prípade sa možné hodnoty premennej prostredia zobrazia spolu s upozornením, že sa tu nenašli hodnoty „HOME“, „DELTREE“ a „LONGNAME“, čo znamená, že ide o hodnoty NULL.

Záver

Tento tutoriál je celý o tom, „ako získať prístup k prostrediu v C++“. Preskúmali sme príklady, v ktorých sme sa naučili, ako pristupovať k premennej prostredia jednotlivo alebo pomocou poľa, v ktorom odovzdávame všetky možné premenné prostredia a potom získavame hodnoty pomocou funkcie „getenv()“. Túto metódu „getenv()“ poskytuje jazyk C++ na získanie požadovaných hodnôt premenných prostredia.