_putenv, _wputenv
Creazione, modifica, o rimuovere le variabili di ambiente.Più versioni sicure di queste funzioni sono disponibili, vedere _putenv_s, _wputenv_s.
Importante |
---|
Questa API non può essere utilizzata nelle applicazioni che vengono eseguite in Windows Runtime.Per ulteriori informazioni, vedere Funzioni CRT non supportate con /ZW. |
int _putenv(
const char *envstring
);
int _wputenv(
const wchar_t *envstring
);
Parametri
- envstring
Definizione di Ambiente- stringa.
Valore restituito
Restituire 0 in caso di esito positivo oppure – 1 in caso di errore.
Note
La funzione di _putenv aggiunte nuove variabili di ambiente o modificare i valori delle variabili di ambiente esistenti.Le variabili di ambiente definiti l'ambiente in cui un processo esegue, ad esempio il percorso di ricerca predefinito per librerie siano collegati con un programma)._wputenv è una versione a caratteri estesi di _putenv; l'argomento envstring in _wputenv è una stringa di caratteri estesi.
Mapping di routine a Testo generico
Routine Tchar.h |
_UNICODE e _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tputenv |
_putenv |
_putenv |
_wputenv |
L'argomento di envstring deve essere un puntatore a una serie di form varname=string, in cui varname è il nome della variabile di ambiente da aggiungere o modificato e string è il valore della variabile.Se varname è già parte dell'ambiente, il valore viene sostituito da string; in caso contrario, la nuova variabile di varname e il valore di string vengono aggiunti all'ambiente.È possibile rimuovere una variabile di ambiente specificando string vuoto ovvero specificando solo varname=.
_putenv e _wputenv influiscono unicamente sull'ambiente che è locale al processo corrente; non è possibile utilizzarli per la modifica dell'ambiente livello di comando.Ovvero queste funzioni vengono eseguiti solo le strutture di dati accessibili alla libreria di runtime e non nel segmento dell'ambiente creato per un processo dal sistema operativo.Quando il processo corrente termina, l'ambiente viene ripristinato il livello del processo chiamante nella maggior parte dei casi, il livello del sistema operativo).Tuttavia, l'ambiente modificato può essere passato a tutti i nuovi processi creati da _spawn, da _exec, o da systeme i nuovi processi ottengono i nuovi elementi aggiunti da _putenv e da _wputenv.
Non modificare direttamente una voce dell'ambiente: in alternativa, utilizzare _putenv o _wputenv per modificarlo.In particolare, gli elementi di liberare diretti della matrice globale di _environ[] potrebbero portare alla memoria non valida di destinazione.
getenv e _putenv utilizzano la variabile globale _environ per accedere alla tabella dell'ambiente; _wgetenv e _wputenv utilizzano _wenviron._putenv e _wputenv potrebbero modificare il valore di _environ e di _wenviron, invalidando in tal modo l'argomento di _envp a main e l'argomento diwenvp _a wmain.Di conseguenza, è consigliabile utilizzare _environ o _wenviron per accedere alle informazioni sull'ambiente.Per ulteriori informazioni sulla relazione di _putenv e di _wputenv alle variabili globali, vedere _environ, _wenviron.
[!NOTA]
I gruppi di _getenv e di _putenv di funzioni non sono thread-safe._getenv potrebbe restituire un puntatore di stringa mentre _putenv sta modificando la stringa, causando errori casuali.Assicurarsi che le chiamate alle funzioni siano sincronizzate.
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_putenv |
<stdlib.h> |
_wputenv |
<stdlib.h> o <wchar.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.
Esempio
Per un esempio di come utilizzare _putenv, vedere getenv, _wgetenv.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di Invocazione della Piattaforma.