Użycie funkcji getenv w programowaniu C

Użycie funkcji getenv w programowaniu C
W języku programowania C kilka funkcji pomaga użytkownikowi zdobyć odpowiednie informacje, takie jak nazwa procesu i identyfikator. Podobnie w tym artykule omówimy informacje o listy środowiska zawierającej zmienną nazwę środowiska, a następnie zwraca wartość w formie wskaźnika. Jeśli funkcja getenv () nie może znaleźć środowiska, zwraca NULL, a Errno wyświetla komunikat o błędzie.

Praca nad getenv w c

W ekosystemie Linuksa zmienna środowiskowa może być ustawiana lokalnie lub na całym świecie. Ta zmienna zapewnia funkcję użytkownika końcowego. To określa, w jaki sposób aplikacje będą działać w systemie operacyjnym Linux. Istnieje wiele sposobów kategoryzacji zmiennej środowiska, takich jak zmienna środowiskowa, można również nazwać zmienną powłoki utworzonej na poziomie globalnym lub lokalnym.

Getenv () działa w taki sposób, że dynamicznie wyszukuje zmienną środowiskową w czasie wykonywania w każdym wpisie wraz z konkretną nazwą. Po znalezieniu zwraca wskaźnik do wartości zmiennej. Kod lub program źródłowy C musi być zapisany w taki sposób, aby nie modyfikuje ciągu, który jest adresowany przez wskaźnik i zwrócony przez getenv (). Ponadto język programowania C nie tworzy funkcji, która ustawia lub modyfikuje zmienne środowiskowe lub jakąkolwiek inną listę lub informacje, których użytkownik może potrzebować.

Deklaracja funkcji getenv ()

Char *getenv (const char *nazwa)

Wartość zwracana

Funkcja getenv () zwraca wskaźnik do C-string o wartości zmiennej środowiska, która odpowiada env_var. Wskaźnik zerowy jest zwracany, gdy nie można znaleźć dopasowania istotnego dla żądania. Te zmienne środowiskowe są przydatne dla wszystkich procesów w bieżącym systemie, albo w multiprocessing. Te zmienne zawierają informacje takie jak ścieżki niektórych plików wykonywalnych, katalogu domowego lub katalogu tymczasowego utworzonego do przechowywania niektórych plików tymczasowych.

Funkcje getenv ()

Zmienne środowiskowe znajdują się na poziomie systemu. Istnieje wiele sposobów wykorzystania zmiennych środowiskowych w systemie operacyjnym Linux.

Env: To polecenie pozwala użytkownikowi wykonywać program w środowisku niestandardowym. Gdy polecenie ENV jest używane bez argumentów jako parametrów, wyświetli dostępne opcje zmiennych w systemie.

Printenv: To polecenie funkcjonuje, aby wyświetlać wszystkie zmienne w systemie środowiska.

Ustawić: To polecenie działa w celu ustawienia zmiennej środowiska w systemie operacyjnym Linux. Kiedy używamy tego polecenia bez argumentów, drukuje wszystkie opcje zmienne, zmienne powłoki i funkcje w systemie.

Eksport: Polecenie eksportu ustawia zmienne środowiskowe. Ale jest tymczasowe, ponieważ trwa tylko wtedy, gdy trwa sesja. Jeśli sesja jest wylogowana lub zamknięta, wówczas zmienna już nie ma.

Wszystkie opisy getenv są wymienione w podręczniku Linux:

$ man getenv

To doprowadzi cię do strony ręcznej.

Udostępnimy kilka przykładów, które wyświetlą implementację funkcji getenv () w języku programowania C w środowisku Linux. Do wszystkich przykładów użyjemy edytora tekstu Linux do pisania kodów i terminali Linux, aby je zaimplementować.

Przykład 1

W kodzie źródłowym używamy biblioteki, aby zapewnić użycie tej funkcji w celu uzyskania dostępu do środowiska. Następnie za pomocą funkcji getenv () w programie głównym otrzymamy ścieżkę, dom i pierwiastek obecnego systemu.

W celu implementacji możesz utworzyć manekin użytkownika w środowisku Linux. Ale aby to precyzyjnie, używamy domyślnego:

Printf („ścieżka: %sn”, getenv („ścieżka”));

Podobny format jest używany dla pozostałych dwóch funkcji ścieżki domowej i głównej:

Teraz zapisz plik tekstowy z rozszerzeniem C. Jeśli informacje dotyczące środowiska będą dostępne, zostaną wyświetlone. Jeśli jednak nie zostanie znaleziony, NULL zostanie zwrócony.

Przejdź do terminalu Linux i użyj kompilatora GCC. Ten kompilator służy do kompilacji kodu, a następnie wykonania go:

$ gcc -o getenv getenv.C
$ ./getenv

Getenv.C to nazwa pliku, a „-O” służy do zapisywania danych wyjściowych w określonym pliku wymienionym w poleceniu. Wyjście wyświetli całą ścieżkę bieżącego pliku i nazwę katalogu domowego. Ponieważ korzeń jest nieznany, więc jest zadeklarowany zerowy.

Przykład 2

Poprzedni przykład był dość prosty w przypadku argumentów. Ten przykład dotyczy wskaźnika używanego do dostępu do informacji o środowisku. W programie głównym parametry zawierają argument i wskaźnik. Do pętli służy do wyświetlania wszystkich informacji, ponieważ instrukcja wyświetla czas zużyty. Dostęp do każdego gniazda pamięci, a informacje zostaną pobrane. Pętla trwa, aż wartość indeksu nie będzie zerowa:

Zobacz wynikową wartość kompilacji:

Po wykonaniu zobaczysz, że każdy drobny szczegół od początku tworzenia środowiska jest wyświetlany. Możesz zobaczyć, że menedżer sesji wyświetli szczegóły konfiguracji wirtualnej skrzynki. Informacje te będą bardzo szczegółowe, które zakończą się, pokazując nazwę użytkownika, jak wspomniano na załączonym zdjęciu:

Przykład 3

Wyświetlana jest inna metoda używania getenv (). Wskaźnik będzie obsługiwał funkcję, a wartość zwracania będzie przechowywana w wskaźniku. Najpierw przedstaw wskaźnik w programie głównym. Następnie ten wskaźnik będzie używany z każdą funkcją informacyjną.

Str = getenv („home”)) ! = Null);

To stwierdzenie pokazuje, że ścieżka domowa będzie wyświetlana, dopóki wartość stanie się zerowa. To samo dotyczy innych informacji. Każda uzyskana wartość zostanie wydrukowana później. Nazwa domu, ścieżki i dziennika będą wyświetlane zgodnie z domyślnymi informacjami. Wszystkie odnoszą się do informacji o zmiennej środowisku. Ale w przeciwieństwie do tego, czwarty to dane wyboru użytkownika.

Po wykonaniu kodu zobaczymy wynikowe wartości. Wyniki ścieżki domowej wyświetlą nazwę użytkownika w katalogu. Druga część dotyczyła ścieżki środowiska. Trzeci wiersz pokazuje nazwę dziennika lub w rzeczywistości nazwa użytkownika. Teraz przejdź do wyboru użytkownika, wynikowa wartość nie jest obecna, ponieważ nie zostanie znaleziona. Zatem null jest zwracany:

Przykład 4

Ten przykład wyświetli również ścieżkę, ale poprzez inne podejście. Najpierw wartość jest pobierana przez funkcję, a następnie trzecia pobierana ścieżka zostanie wyświetlona przez zastosowanie podatku IF, aby sprawdzić, czy każda informacja jest wyświetlana, dopóki wynikowy wskaźnik nie będzie NULL.

Ptr_path = getenv („ścieżka”);

Teraz zobacz wynikową wartość przez terminal. Zobaczysz, jak ścieżka jest wyświetlana i uzyskana za pośrednictwem kodu źródłowego:

Wniosek

Artykuł „Wykorzystanie funkcji getenv” w języku programowania C jest wyjaśniona kilkoma przykładami, które pomogą użytkownikowi końcowi jako przewodnik użytkownika. Getenv wprowadza środowisko w formie różnych sposobów. Każde podejście jest wyjaśnione, które pomaga w wprowadzeniu ścieżki, nazwy użytkownika i korzeni domyślnego środowiska systemu operacyjnego Linux. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź więcej artykułów z Linux, aby uzyskać przydatne wskazówki i informacje.