Compartilhar via


_putenv, _wputenv

Criar, modificar ou remover, variáveis de ambiente.Versões mais seguros dessas funções estão disponíveis; consulte _putenv_s, _wputenv_s.

Observação importanteImportante

Este API não pode ser usado em aplicativos executados em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW.

int _putenv( const char *envstring ); int _wputenv( const wchar_t *envstring );

Parâmetros

  • envstring
    Definição de cadeia de caracteres.

Valor de retorno

Retorna 0 se com êxito ou – 1 no caso de um erro.

Comentários

A função de _putenv adicionar novos variáveis de ambiente ou modifica os valores das variáveis de ambiente existentes.Variáveis de ambiente definem o ambiente em que um processo é executado (por exemplo, o caminho de pesquisa padrão para que as bibliotecas sejam vinculadas com um programa)._wputenv é uma versão de largo- caractere de _putenv; o argumento de envstring a _wputenv é uma cadeia de caracteres de largo- caractere.

Mapeamentos da rotina de Genérico- texto

Rotina de Tchar.h

_UNICODE e não definidos _MBCS

_MBCS definido

_UNICODE definido

_tputenv

_putenv

_putenv

_wputenv

O argumento de envstring deve ser um ponteiro para uma cadeia de caracteres do formulário varname=stringvarname , onde é o nome da variável de ambiente a ser adicionado ou alterado e string é o valor da variável.Se varname já é parte de ambiente, seu valor é substituído por string; caso contrário, o novo variável de varname e seu valor de string são adicionados ao ambiente.Você pode remover uma variável de ambiente especificando string vazio — ou seja especificando somente varname=.

_putenv e _wputenv afetam somente o ambiente que é local para o processo atual; você não pode usá-los para alterar o nível ambiente de comando.Isto é, essas funções operam somente nas estruturas de dados acessíveis à biblioteca em tempo de execução e não no segmento de ambiente criado para um processo pelo sistema operacional.Quando o processo atual finaliza, o ambiente reverte para o nível do processo de chamada (na maioria dos casos, o nível do sistema operacional).No entanto, o ambiente alterado pode ser passado para todos os novos processos criados por _spawn, por _exec, ou por system, e esses novos processos obter quaisquer novos itens adicionados por _putenv e por _wputenv.

Não altere uma entrada de ambiente diretamente: em vez disso, use _putenv ou _wputenv para alterá-la.Em particular, os elementos liberando-se diretos de matriz global de _environ[] podem resultar na memória inválida que está sendo abordada.

getenv e _putenv usam a variável global _environ para acessar a tabela de ambiente; _wgetenv e _wputenv usam _wenviron._putenv e _wputenv podem alterar o valor de _environ e de _wenviron, portanto invalidando o argumento de _envp a main e o argumento dewenvp _a wmain.Como consequência, é mais seguro usar _environ ou _wenviron para acessar informações sobre o ambiente.Para obter mais informações sobre a relação de _putenv e de _wputenv a variáveis globais, consulte _environ, _wenviron.

ObservaçãoObservação

As famílias de _putenv e de _getenv de funções não são com segurança._getenv pode retornar um ponteiro de cadeia de caracteres quando _putenv alterar a cadeia de caracteres, causando falhas aleatórios.Certifique-se de que as chamadas a essas funções são sincronizados.

Requisitos

Rotina

Cabeçalho necessário

_putenv

<stdlib.h>

_wputenv

<stdlib.h> ou <wchar.h>

Para mais informações, consulte Compatibilidade de compatibilidade na introdução.

Exemplo

Para um exemplo de como usar _putenv, consulte GETENV, _wgetenv.

Equivalência do .NET Framework

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Processo e controle do ambiente

GETENV, _wgetenv

_searchenv, _wsearchenv