_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.