Uso da função getenv na programação C

Uso da função getenv na programação C
Na linguagem de programação C, várias funções ajudam o usuário a adquirir informações relevantes, como o nome do processo e o ID. Da mesma forma, neste artigo, discutiremos informações sobre a lista de ambiente que contém o nome da variável do ambiente e depois retornará o valor na forma de um ponteiro. Se a função getenv () não conseguir encontrar o ambiente, ele retorna nulo e errno exibe a mensagem de erro.

Trabalhando no getenv em c

No ecossistema do Linux, a variável de ambiente pode ser configurada local ou globalmente. Esta variável fornece a função para o usuário final. Isso determina como os aplicativos serão executados no sistema operacional Linux. Existem muitas maneiras de categorizar a variável de ambiente, como a variável de ambiente também pode ser chamada de variável de shell criada no nível global ou local.

O getenv () funciona de tal maneira que pesquise na variável do ambiente dinamicamente no tempo de execução em todas as entradas junto com o nome específico. Quando é encontrado, ele retorna um ponteiro para o valor de uma variável. O código -fonte ou programa C deve ser escrito de tal maneira que não modifique a sequência abordada pelo ponteiro e devolvida por getenv (). Além disso, a linguagem de programação C não cria uma função que define ou modifica as variáveis ​​de ambiente ou qualquer outra lista ou informação que o usuário possa precisar.

Declaração da função getenv ()

Char *getenv (const char *nome)

Valor de retorno

A função getenv () retorna o ponteiro para a corda c com um valor da variável de ambiente que corresponde a Env_var. Um ponteiro nulo é devolvido quando nenhuma correspondência é encontrada relevante para a solicitação. Essas variáveis ​​de ambiente são úteis para todos os processos no sistema atual, seja no multiprocessamento. Essas variáveis ​​contêm informações como caminhos de alguns arquivos executáveis, um diretório doméstico ou um diretório temporário criado para armazenar alguns arquivos temporários.

Recursos de Getenv ()

As variáveis ​​de ambiente são encontradas no nível do sistema. Existem muitas maneiras de utilizar as variáveis ​​de ambiente no sistema operacional Linux.

Env: Este comando permite ao usuário executar o programa no ambiente personalizado. Quando o comando ENV é usado sem os argumentos como parâmetros, ele exibirá as opções disponíveis de variáveis ​​no sistema.

Printenv: Este comando funciona para exibir todas as variáveis ​​no sistema ambiental.

Definir: Este comando funciona para definir a variável de ambiente no sistema operacional Linux. Quando usamos esse comando sem argumentos, ele imprime todas as opções de variáveis, variáveis ​​de shell e funções no sistema.

Exportar: O comando de exportação define as variáveis ​​do ambiente. Mas é temporário porque dura apenas quando a sessão dura. Se a sessão for registrada ou fechada, a variável não será mais.

Toda a descrição sobre Getenv é mencionada no manual do Linux:

$ Man Getenv

Isso o levará a uma página manual.

Compartilharemos alguns exemplos que exibirão a implementação da função getenv () na linguagem de programação C no ambiente Linux. Para todos os exemplos, usaremos um editor de texto do Linux para escrever códigos e o terminal Linux para implementá -los.

Exemplo 1

No código -fonte, usamos uma biblioteca para garantir o uso desse recurso para acessar o ambiente. Então, usando a função getenv () no programa principal, obteremos o caminho, a casa e a raiz do sistema atual.

Para fins de implementação, você pode criar um usuário fictício em um ambiente Linux. Mas para torná -lo preciso, estamos usando o padrão:

Printf ("Path: %SN", Getenv ("Path"));

Um formato semelhante é usado para os outros dois recursos em casa e no caminho raiz:

Agora, salve o arquivo de texto com a extensão de C. Se as informações sobre o ambiente estarão disponíveis, ele será exibido. No entanto, se não for encontrado, o nulo será devolvido.

Vá para o terminal Linux e use um compilador GCC. Este compilador é usado para compilar o código e executá -lo:

$ gcc -o getenv getenv.c
$ ./getenv

Getenv.C é o nome de um arquivo e "-o" é usado para salvar a saída em um arquivo específico mencionado no comando. A saída exibirá todo o caminho do arquivo atual e o nome do diretório inicial. Como a raiz é desconhecida, é declarada nula.

Exemplo 2

O exemplo anterior foi bastante simples no caso de argumentos. Este exemplo lida com o ponteiro usado para acessar as informações do ambiente. No programa principal, os parâmetros contêm o argumento e um ponteiro. Para o loop é usado para exibir todas as informações, pois o manual está exibindo tempo consumido. Cada slot de memória será acessado e as informações serão buscadas. O loop dura até que o valor do índice não seja nulo:

Veja o valor resultante na compilação:

Na execução, você verá que cada menor detalhe desde o início da criação do ambiente é exibido. Você pode ver que o gerente de sessão exibirá os detalhes da configuração da caixa virtual. Esta informação será muito detalhada que terminará mostrando o nome de usuário, conforme mencionado na imagem anexada:

Exemplo 3

Outro método de usar getenv () é exibido aqui. Um ponteiro operará a função e o valor de retorno será armazenado no ponteiro. Primeiro, apresente um ponteiro no programa principal. Então, este ponteiro será usado com cada informação obtendo função.

Str = getenv ("home")) ! = Nulo);

Esta afirmação mostra que o caminho em casa será exibido até que o valor se torne nulo. O mesmo vale para a outra informação. Cada valor obtido será impresso posteriormente. O nome da casa, do caminho e do log será exibido de acordo com as informações padrão. Tudo isso se refere às informações variáveis ​​do ambiente. Mas, diferentemente disso, o quarto é os dados da escolha do usuário.

Na execução do código, veremos os valores resultantes. Os resultados para o caminho em casa exibirão o nome de usuário no diretório. A segunda parte foi para o caminho do meio ambiente. A terceira linha mostra o nome do log ou na realidade, o nome de usuário. Agora, venha para a escolha do usuário, o valor resultante não está presente, pois não será encontrado. Então o nulo é devolvido:

Exemplo 4

Este exemplo também exibirá o caminho apenas, mas através de uma abordagem diferente. Primeiro, o valor é buscado através da função e, em seguida, o terceiro caminho buscado será exibido aplicando uma estatura IF para verificar se cada informação é exibida até que o resultante no ponteiro não seja nulo.

Ptr_path = getenv ("caminho");

Agora, veja o valor resultante através do terminal. Você verá que o caminho é exibido e obtido através do código -fonte:

Conclusão

O artigo “Uso da função getenv” na linguagem de programação C é explicada com alguns exemplos para ajudar o usuário final como guia do usuário. Getenv traz o ambiente na forma de diferentes maneiras. Cada abordagem é explicada que ajuda a trazer o caminho, o nome de usuário e a raiz do ambiente padrão do sistema operacional Linux. Esperamos que você tenha achado este artigo útil. Confira mais artigos de dica do Linux para obter dicas e informações úteis.