Share via


_putenv, _wputenv

Cria, modifica ou remove variáveis de ambiente.Versões mais seguras dessas funções estão disponível; consulte _putenv_s, _wputenv_s.

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

Parâmetros

  • envstring
    Definição de seqüência de caracteres de ambiente.

Valor de retorno

Retorne 0 se obtiver êxito ou – 1 em caso de erro.

Comentários

The _putenv função adiciona novas variáveis de ambiente ou modifica os valores de variáveis de ambiente existente. As variáveis de ambiente definem o ambiente no qual um processo é executado (por exemplo, o caminho de Pesquisar padrão para bibliotecas para serem vinculadas com um programa)._wputenv é uma versão de caractere largo da _putenv; o envstring argumento para _wputenv é uma seqüência de caracteres largos.

Mapeamentos de rotina de texto genérica

Rotina tchar.h

_UNICODE e _MBCS não definido

_MBCS definido

_UNICODE definido

_tputenv

_putenv

_putenv

_wputenv

The envstring o argumento deve ser um ponteiro para uma seqüência de caracteres de formulário varname=string, onde varname é o nome da variável de ambiente sejam adicionados ou modificados e string é o valor da variável. If varname já é parte do ambiente, seu valor é substituído por string; Caso contrário, o novo varname variável e seu string valor são adicionados ao ambiente. Você pode remover uma variável de ambiente especificando um vazio string — em outras palavras, especificando somente varname=.

_putenv e _wputenv afetar o ambiente local para o processo corrente; você não pode usá-los para modificar o ambiente de nível de comando. Ou seja, essas funções operam apenas em estruturas de dados acessíveis para a biblioteca de time de execução e não no segmento ambiente criado para um processo pelo sistema operacional.Quando o processo corrente é encerrado, o ambiente é revertido para o nível de processo de chamada (na maioria dos casos, o nível de sistema operacional).No entanto, o ambiente modificado pode ser passado para novos processos criados por _spawn, _exec, ou system, e os itens novos adicionados por esses novos processos _putenv e _wputenv.

Não alterar diretamente uma entrada de ambiente: em vez disso, use _putenv ou _wputenv para alterá-lo. Em particular, liberando direta elementos do _environ[] matriz global pode levar a memória sendo resolvida.

getenv e _putenv Use a variável global _environ para acesso tabela ambiente; _wgetenv e _wputenv Use _wenviron. _putenv e _wputenv pode alterar o valor de _environ e _wenviron, invalidando assim o _envp argumento para main e o _wenvp argumento para wmain. Portanto, é mais seguro usar _environ ou _wenviron para acessar as informações de ambiente. Para obter mais informações sobre a relação entre _putenv e _wputenv variáveis global, consulte _environ, _wenviron.

Observação:

O _putenv e _getenv famílias de funções não são thread-safe. _getenv pode retornar um ponteiro de seqüência de caracteres ao mesmo tempo _putenv é modificar a seqüência de caracteres, causando falhas aleatórias. Certifique-se de que as chamadas para essas funções estão sincronizadas.

Requisitos

Rotina

Cabeçalho necessário

_putenv

<stdlib.h>

_wputenv

<stdlib.h> ou <wchar.h>

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

Exemplo

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

Equivalente do NET Framework

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

Consulte também

Referência

Processo e ambiente de controle

GETENV, _wgetenv

_searchenv, _wsearchenv