Utilizzo della funzione getenv nella programmazione C

Utilizzo della funzione getenv nella programmazione C
Nel linguaggio di programmazione C, diverse funzioni aiutano l'utente ad acquisire informazioni pertinenti, come il nome del processo e l'ID. Allo stesso modo, in questo articolo, discuteremo di informazioni sull'elenco dell'ambiente che contiene il nome variabile dell'ambiente e quindi restituire il valore sotto forma di un puntatore. Se la funzione getenv () non è in grado di trovare l'ambiente, restituisce null e Errno visualizza il messaggio di errore.

Lavorando su Getenv in C

Nell'ecosistema di Linux, la variabile di ambiente può essere impostata localmente o a livello globale. Questa variabile fornisce la funzione all'utente finale. Ciò determina come verranno eseguite le applicazioni sul sistema operativo Linux. Esistono molti modi per classificare la variabile di ambiente, come la variabile di ambiente può anche essere definita una variabile di shell creata a livello globale o locale.

Il getenv () funziona in modo tale da cercare dinamicamente la variabile di ambiente in ogni momento in ogni voce insieme al nome specifico. Quando viene trovato, restituisce un puntatore al valore di una variabile. Il codice o il programma sorgente C deve essere scritto in modo tale da non modificare la stringa che viene indirizzata dal puntatore e restituita da getenv (). Inoltre, il linguaggio di programmazione C non crea una funzione che imposta o modifica le variabili di ambiente o qualsiasi altro elenco o informazione di cui l'utente potrebbe aver bisogno.

Dichiarazione della funzione getenv ()

Char *getenv (const char *nome)

Valore di ritorno

La funzione getenv () restituisce il puntatore alla string C-C-con un valore della variabile di ambiente che corrisponde a env_var. Un puntatore null viene restituito quando non viene riportata alcuna corrispondenza pertinente alla richiesta. Queste variabili di ambiente sono utili per tutti i processi nel sistema corrente, sia nel multiprocesso. Queste variabili contengono informazioni come percorsi di alcuni file eseguibili, una directory home o una directory temporanea creata per archiviare alcuni file temporanei.

Caratteristiche di getenv ()

Le variabili di ambiente si trovano a livello di sistema. Esistono molti modi per utilizzare le variabili di ambiente nel sistema operativo Linux.

Env: Questo comando consente all'utente di eseguire il programma nell'ambiente personalizzato. Quando il comando ENV viene utilizzato senza gli argomenti come parametri, visualizzerà le opzioni disponibili di variabili nel sistema.

Printenv: Questo comando funziona per visualizzare tutte le variabili nel sistema ambientale.

Impostato: Questo comando funziona per impostare la variabile di ambiente nel sistema operativo Linux. Quando utilizziamo questo comando senza argomenti, stampa tutte le opzioni variabili, le variabili di shell e le funzioni nel sistema.

Esportare: Il comando di esportazione imposta le variabili di ambiente. Ma è temporaneo perché dura solo quando dura la sessione. Se la sessione viene disconnerata o chiusa, la variabile non è più.

Tutta la descrizione relativa a getenv è menzionata nel manuale di Linux:

$ man getenv

Questo ti porterà a una pagina manuale.

Condivideremo alcuni esempi che mostreranno l'implementazione della funzione getenv () nel linguaggio di programmazione C nell'ambiente Linux. Per tutti gli esempi, useremo un editor di testo di Linux per scrivere codici e il terminale Linux per implementarli.

Esempio 1

Nel codice sorgente, utilizziamo una libreria per garantire l'utilizzo di questa funzione per accedere all'ambiente. Quindi, utilizzando la funzione getenv () nel programma principale, otterremo il percorso, la casa e la radice del sistema attuale.

Ai fini dell'implementazione, è possibile creare un utente fittizio in un ambiente Linux. Ma per renderlo preciso, stiamo usando quello predefinito:

Printf ("percorso: %sn", getenv ("percorso"));

Un formato simile viene utilizzato per le altre due caratteristiche percorso domestico e radice:

Ora, salva il file di testo con l'estensione di C. Se saranno disponibili le informazioni sull'ambiente, verranno visualizzate. Tuttavia, se non viene trovato, Null verrà restituito.

Vai al terminale Linux e usa un compilatore GCC. Questo compilatore viene utilizzato per compilare il codice e quindi eseguirlo:

$ GCC -O getenv getenv.C
$ ./getenv

Getenv.C è il nome di un file e "-o" viene utilizzato per salvare l'output in un particolare file menzionato nel comando. L'output visualizzerà l'intero percorso del file corrente e il nome della directory home. Poiché la radice è sconosciuta, quindi viene dichiarata null.

Esempio 2

L'esempio precedente era abbastanza semplice nel caso degli argomenti. Questo esempio tratta il puntatore utilizzato per accedere alle informazioni sull'ambiente. Nel programma principale, i parametri contengono l'argomento e un puntatore. Per loop viene utilizzato per visualizzare tutte le informazioni in quanto il manuale sta visualizzando il tempo consumato. A ogni slot di memoria sarà accessibile e le informazioni verranno recuperate. Il ciclo dura fino a quando il valore dell'indice non è nullo:

Vedi il valore risultante sulla compilation:

Durante l'esecuzione, vedrai che ogni dettaglio minore dall'inizio della creazione dell'ambiente viene visualizzato. Puoi vedere che il gestore sessione visualizzerà i dettagli della configurazione della casella virtuale. Queste informazioni saranno molto dettagliate che finiranno mostrando il nome utente come menzionato nell'immagine allegata:

Esempio 3

Un altro metodo per usare getenv () viene visualizzato qui. Un puntatore farà funzionare la funzione e il valore di ritorno verrà archiviato nel puntatore. Innanzitutto, introdurre un puntatore nel programma principale. Quindi, questo puntatore verrà utilizzato con ogni informazione che ottiene la funzione.

Str = getenv ("casa")) ! = Null);

Questa affermazione mostra che il percorso domestico verrà visualizzato fino a quando il valore non diventa nullo. Lo stesso vale per le altre informazioni. Ogni valore ottenuto verrà stampato in seguito. La casa, il percorso e il nome del registro verranno visualizzati in base alle informazioni predefinite. Tutti questi si riferiscono alle informazioni sulla variabile dell'ambiente. Ma a differenza di questo, il quarto sono i dati di scelta dell'utente.

Durante l'esecuzione del codice, vedremo i valori risultanti. I risultati per il percorso home visualizzeranno il nome utente nella directory. La seconda parte era per il percorso dell'ambiente. La terza riga mostra il nome del registro o in realtà, il nome utente. Ora, vieni verso la scelta dell'utente, il valore risultante non è presente in quanto non verrà trovato. Quindi il null viene restituito:

Esempio 4

Questo esempio visualizzerà anche il percorso solo ma attraverso un approccio diverso. Innanzitutto, il valore viene recuperato attraverso la funzione e quindi, il terzo percorso recuperato verrà visualizzato applicando una sezione if per verificare se ogni informazione viene visualizzata fino a quando il risultato non è nullo.

Ptr_path = getenv ("percorso");

Ora, vedi il valore risultante tramite il terminale. Vedrai che il percorso viene visualizzato e ottenuto tramite il codice sorgente:

Conclusione

L'articolo "Utilizzo della funzione getenv" nel linguaggio di programmazione C è spiegato con un paio di esempi per aiutare l'utente finale come guida per l'utente. Getenv porta l'ambiente sotto forma di modi diversi. Viene spiegato ogni approccio che aiuta a portare il percorso, il nome utente e la radice dell'ambiente predefinito del sistema operativo Linux. Speriamo che tu abbia trovato questo articolo utile. Scopri altri articoli di suggerimento Linux per suggerimenti e informazioni utili.