Jak získat přístup k prostředí v C++

Jak Ziskat Pristup K Prostredi V C



C++ je nejúčinnější vysokoúrovňový jazyk pro programování. C++ nám usnadňuje řadu knihoven funkcí a umožňuje nám zvládnout výjimky a přetížení funkce. Prostředí v C++ můžeme získat také pomocí funkce getenv(). Tyto proměnné prostředí se nacházejí v OS, na kterém fungují všechny programovací jazyky a lze k nim nějakým způsobem přistupovat. Funkce getenv() poskytuje programovacímu jazyku C++ přístup k těmto možnostem. Pomocí metody getenv() v jazyce C++ je jako parametr vrácen ukazatel na řetězec C, který obsahuje obsah dodaných proměnných prostředí. Zde se tento koncept naučíme a pomocí příkladů si ověříme, jak budeme přistupovat k prostředí v našem programování v C++.

Příklad 1:

Jednoduše začneme naším prvním příkladem zde. K vytvoření kódů C++ potřebujeme nějaké hlavičkové soubory. Do tohoto kódu tedy zahrneme hlavičkové soubory, které požadujeme. Soubor záhlaví „iostream“ je nezbytný, protože v tomto kódu potřebujeme zobrazit některá data a tento soubor záhlaví podporuje funkci „cout“. Pak máme „cstdlib“; tato hlavička poskytuje sadu metod, jako je metoda „getenv()“.

Nyní přidáme „namespace std“, takže nemusíme přidávat „std“ s funkcemi „cout()“ v našem kódu. Poté se zavolá funkce „main()“. Poté umístíme „char*“, což je ukazatel zde s názvem „var_1“. Poté do této proměnné „var_1“ umístíme funkci „getenv()“ a jako její parametr předáme „SESSIONNAME“.







Poté přidáme podmínku „if“, která kontroluje, zda se „var_1“ nerovná „NULL“. Pokud „var_1“ není null, vypíše nejprve název proměnné prostředí. Potom na dalším řádku vypíše hodnotu této proměnné. Ale pokud je „var_1“ „NULL“, nezobrazí se zde žádná zpráva a kód se ukončí.



Kód 1:



#include
#include
použitím jmenný prostor std ;
int hlavní ( )
{
char * was_1 ;
was_1 = gettenv ( „SESSIONNAME“ ) ;
-li ( was_1 ! = NULA )
cout << 'Název proměnné je SESSIONNAME' << endl ;
cout << 'Proměnná prostředí je:' << was_1 ;
vrátit se 0 ;
}

Výstup :
Tento výstup vykreslí název proměnné prostředí, kterou přidáme jako parametr funkce „getenv()“ a hodnotu této proměnné prostředí. Tuto hodnotu získáme pomocí funkce „getenv()“ v našem kódu.





Příklad 2:

Nyní máme další příklad. Náš kód začínáme zahrnutím nezbytných hlavičkových souborů. Poté napíšeme „namespace std“. Poté přistoupíme k funkci „main()“, ve které vytvoříme ukazatel „char*“ s názvem „newEnv_var“ a inicializujeme jej názvem proměnné prostředí „Path“. Poté přidáme další „char*“, který je zde také ukazatelem a pojmenujeme jej „mojeHodnota“.



Nyní inicializujeme proměnnou „myValue“ funkcí „getenv()“ a předáme „newEnv_var“ této funkci „getenv()“; je to parametr této funkce. Tato proměnná „newEnv_var“ obsahuje název proměnné prostředí, jak ji inicializujeme „PATH“. Dále je přidána podmínka „if“, která určuje, zda je „mojeHodnota“ ekvivalentní „NULL“ nebo ne. Pokud „myValue“ není null, nejprve se vytiskne název proměnné prostředí a poté na dalším řádku hodnota proměnné. Pokud je však „myValue“ nastaveno na „NULL“, nezobrazí se žádná zpráva a kód zde končí.

Kód 2:

#include
#include
použitím jmenný prostor std ;
int hlavní ( )
{
char * newEnv_var = 'CESTA' ;
char * mojeValue ;
mojeValue = gettenv ( newEnv_var ) ;
-li ( mojeValue ! = NULA ) {
cout << 'Proměnná =' << newEnv_var << endl ;
cout << 'Hodnota =' << mojeValue << endl ;
}
jiný
cout << 'Proměnná neexistuje!' << mojeValue ;
vrátit se 0 ;
}

Výstup:
Nyní na terminálu ukazuje hodnotu proměnné prostředí „PATH“, kterou získáme pomocí funkce „getenv()“ v našem kódu. Na každém počítači se liší, protože cesta na každém počítači je jiná.

Příklad 3:

Zde je další příklad: na začátek našeho kódu napíšeme „namespace std“ po začlenění požadovaných hlavičkových souborů „iostream“ a „cstdlib“. Dále zadáme metodu „main()“, kde vygenerujeme ukazatel „char*“ nazvaný „myVar“ a inicializujeme název proměnné prostředí „PUBLIC“.

Dále vytvoříme nový „char*“ s názvem „myValue“; toto je také ukazatel. Nyní, když je „myVar“ dodáno funkci „getenv()“, pomocí které inicializujeme proměnnou „myValue“, je to argument funkce. Protože ji inicializujeme pomocí „PUBLIC“, název proměnné prostředí je obsažen v této proměnné „myVar“.

Poté, aby se zjistilo, zda se „mojeHodnota“ rovná „NULL“ nebo ne, je přidána podmínka „if“. Název proměnné prostředí se na obrazovce objeví jako první, pokud „myValue“ není null, a hodnota proměnné se objeví na dalším řádku. Poté zde máme přidánu další část, která se provede, pokud daná podmínka není splněna. Zde vytiskneme zprávu, která nám říká, že „Proměnná zde nebyla nalezena“.

Kód 3:

#include
#include
použitím jmenný prostor std ;
int hlavní ( )
{
char * myVar = 'VEŘEJNOST' ;
char * mojeValue ;
mojeValue = gettenv ( myVar ) ;
-li ( mojeValue ! = NULA ) {
cout << 'Proměnná =' << myVar << endl ;
cout << 'Je to hodnota =' << mojeValue << endl ;
}
jiný
cout << 'Proměnná zde nenalezena..!!' << mojeValue ;
vrátit se 0 ;
}

Výstup:
V tomto výstupu je vykreslen název proměnné prostředí, kterou přidáme jako parametr do funkce „getenv()“, spolu s její hodnotou. Tuto hodnotu můžeme získat pomocí funkce „getenv()“ našeho kódu.

Příklad 4:

Zde vytvoříme pole konstantních znaků s názvem „NewEnv_var[]“ o velikosti „6“. Poté tomuto poli předáme všechny možné proměnné prostředí. Pod tím máme další pole s názvem „char *env_value[]“ se stejnou velikostí „6“. Nyní máme cyklus „for“ a zacyklíme všechny tyto proměnné prostředí z funkce „getenv()“, abychom získali hodnoty všech těchto proměnných a uložili je do pole „env_value“. Uvnitř této smyčky „for“ také umísťujeme podmínku „if“, která kontroluje, zda je hodnota prostředí nulová. Pokud hodnota není null, vypíše hodnotu a název proměnné. Pokud je null, zobrazí se zpráva, že zde proměnná prostředí neexistuje.

Kód 4:

#include
#include
použitím jmenný prostor std ;
int hlavní ( )
{
konst char * NewEnv_var [ 6 ] = { 'VEŘEJNOST' , 'DOMOV' , „SESSIONNAME“ , 'LIB' , 'SystemDrive' , 'DELTREE' } ;
char * env_value [ 6 ] ;
pro ( int A = 1 ; A <= 6 ; A ++ )
{
env_value [ A ] = gettenv ( NewEnv_var [ A ] ) ;
-li ( env_value [ A ] ! = NULA )
cout << 'Proměnná je' << NewEnv_var [ A ] << “ a je to „Hodnota=“ << env_value [ A ] << endl ;
jiný
cout << NewEnv_var [ A ] << 'tady neexistuje' << endl ;
}
}

Výstup:
Zde zobrazuje všechny možné hodnoty proměnné prostředí a také zobrazuje zprávu, že „HOME“, „LIB“ a „DELTREE“ neexistují, což znamená, že jejich hodnota je NULL.

Příklad 5:

Nyní pojďme napřed. Toto je poslední příklad tohoto tutoriálu. Zde vytvoříme pole konstantních znaků o velikosti „4“ nazvané „Variable[]“, kterému poskytneme všechny potenciální proměnné prostředí. Nyní použijeme smyčku „for“. Pod tím je další pole se stejnou velikostí „4“ nazvané „char *values[]“ a tam umístíme funkci „getenv()“ a jako její parametr předáme „proměnnou[i]“. Tato smyčka se používá k iteraci všech proměnných prostředí, získávání jejich hodnot z funkce „getenv()“ a jejich ukládání do pole „values[]“.

Do tohoto cyklu „for“ zahrneme podmínku „if“, která určuje, zda je hodnota prostředí nulová nebo ne. Hodnota a název proměnné se vytisknou, pokud hodnota není null, a pokud je NULL, zobrazí se zpráva, která je uvedena v části „else“.

Kód 5:

#include
použitím jmenný prostor std ;
int hlavní ( ) {
konst char * variabilní [ 4 ] = { 'VEŘEJNOST' , 'DOMOV' , 'DELTREE' , 'LOGNAME' } ;
pro ( int i = 0 ; i <= 4 ; i ++ )
{
konst char * hodnoty = gettenv ( variabilní [ i ] ) ;
-li ( hodnoty ! = NULA ) {
cout << variabilní [ i ] << ' = ' << hodnoty << endl ;
}
jiný {
cout << variabilní [ i ] << 'nenalezeno zde!' << endl ;
}
}
vrátit se 0 ;
}

Výstup:
V tomto případě se zobrazí možné hodnoty proměnné prostředí spolu s upozorněním, že zde nejsou nalezeny hodnoty „HOME“, „DELTREE“ a „LONGNAME“, což znamená, že se jedná o hodnoty NULL.

Závěr

Tento tutoriál je celý o tom, „jak získat přístup k prostředí v C++“. Prozkoumali jsme příklady, ve kterých jsme se naučili přistupovat k proměnné prostředí jednotlivě nebo pomocí pole, ve kterém předáváme všechny možné proměnné prostředí a poté získáváme hodnoty pomocí funkce „getenv()“. Tuto metodu „getenv()“ poskytuje jazyk C++ pro získání požadovaných hodnot proměnných prostředí.