_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.
Importante |
---|
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çã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.