_putenv, _wputenv_putenv, _wputenv

Crea, modifica o rimuove variabili di ambiente.Creates, modifies, or removes environment variables. Sono disponibili versioni più sicure di queste funzioni. Vedere _putenv_s, _wputenv_s.More secure versions of these functions are available; see _putenv_s, _wputenv_s.

Importante

Non è possibile usare questa API nelle applicazioni eseguite in Windows Runtime.This API cannot be used in applications that execute in the Windows Runtime. Per altre informazioni, vedere Funzioni CRT non supportate nelle app della piattaforma UWP (Universal Windows Platform).For more information, see CRT functions not supported in Universal Windows Platform apps.

SintassiSyntax

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

ParametriParameters

envstringenvstring
Definizione della stringa di ambiente.Environment-string definition.

Valore restituitoReturn Value

Restituisce 0 se ha esito positivo o -1 in caso di errore.Return 0 if successful or -1 in the case of an error.

NoteRemarks

Il putenv funzione aggiunge nuove variabili di ambiente o modifica i valori delle variabili di ambiente esistente.The _putenv function adds new environment variables or modifies the values of existing environment variables. Le variabili di ambiente definiscono l'ambiente in cui viene eseguito un processo (ad esempio, il percorso di ricerca predefinito per le librerie da collegare a un programma).Environment variables define the environment in which a process executes (for example, the default search path for libraries to be linked with a program). wputenv è una versione a caratteri wide putenv; il envstring argomento wputenv è una stringa di caratteri "wide"._wputenv is a wide-character version of _putenv; the envstring argument to _wputenv is a wide-character string.

Mapping di routine di testo genericoGeneric-Text Routine Mappings

Routine Tchar.hTchar.h routine _UNICODE e _MBCS non definiti_UNICODE and _MBCS not defined _MBCS definito_MBCS defined _UNICODE definito_UNICODE defined
tputenv_tputenv _putenv_putenv _putenv_putenv _wputenv_wputenv

Il envstring argomento deve essere un puntatore a una stringa nel formato varname=value_string, dove varname è il nome della variabile di ambiente per essere aggiunto o modificato e value_string è il valore della variabile.The envstring argument must be a pointer to a string of the form varname=value_string, where varname is the name of the environment variable to be added or modified and value_string is the variable's value. Se varname fa già parte dell'ambiente, il valore viene sostituito da value_string; in caso contrario, il nuovo varname variabile e il relativo value_string valore vengono aggiunti all'ambiente.If varname is already part of the environment, its value is replaced by value_string; otherwise, the new varname variable and its value_string value are added to the environment. È possibile rimuovere una variabile dall'ambiente specificando un oggetto vuoto value_string, o in altre parole, tramite l'indicazione varname=.You can remove a variable from the environment by specifying an empty value_string, or in other words, by specifying only varname=.

putenv e wputenv interessano solo l'ambiente locale per il processo corrente; non possono essere utilizzati per modificare l'ambiente a livello di comando._putenv and _wputenv affect only the environment that is local to the current process; you cannot use them to modify the command-level environment. Questo significa che le funzioni agiscono solo su strutture di dati accessibili dalla libreria di runtime e non nel segmento di ambiente creato per un processo dal sistema operativo.That is, these functions operate only on data structures accessible to the run-time library and not on the environment segment created for a process by the operating system. Al termine del processo corrente, l'ambiente viene ripristinato al livello del processo chiamante, ovvero nella maggior parte dei casi il livello del sistema operativo.When the current process terminates, the environment reverts to the level of the calling process (in most cases, the operating-system level). Tuttavia, l'ambiente modificato può essere passato a tutti i nuovi processi creati spawn, Exec, o sistema, e questi nuovi processi ottengono i nuovi elementi aggiunti da putenv e wputenv.However, the modified environment can be passed to any new processes created by _spawn, _exec, or system, and these new processes get any new items added by _putenv and _wputenv.

Non modificare direttamente una voce dell'ambiente: in alternativa, usare putenv oppure wputenv per modificarlo.Do not change an environment entry directly: instead, use _putenv or _wputenv to change it. In particolare, liberando direttamente gli elementi del [] Environ memoria non validi sta risolvendo potrebbe causare matrice globale.In particular, direct freeing elements of the _environ[] global array might lead to invalid memory being addressed.

getenv e putenv usano la variabile globale Environ per accedere alla tabella di ambiente; wgetenv e wputenv utilizzare wenviron.getenv and _putenv use the global variable _environ to access the environment table; _wgetenv and _wputenv use _wenviron. putenv e wputenv potrebbe modificare il valore di Environ e wenviron, pertanto invalidazione la _envp argomenti per principale e il _wenvp argomento wmain._putenv and _wputenv might change the value of _environ and _wenviron, thus invalidating the _envp argument to main and the _wenvp argument to wmain. Pertanto, è preferibile usare Environ oppure wenviron per accedere alle informazioni di ambiente.Therefore, it is safer to use _environ or _wenviron to access the environment information. Per ulteriori informazioni sulla relazione tra putenv e wputenv per le variabili globali, vedere Environ, wenviron.For more information about the relation of _putenv and _wputenv to global variables, see _environ, _wenviron.

Nota

Il putenv e _getenv famiglie di funzioni non sono thread-safe.The _putenv and _getenv families of functions are not thread-safe. _getenv potrebbe restituire un puntatore di stringa mentre putenv sta modificando la stringa, causando errori casuali._getenv could return a string pointer while _putenv is modifying the string, causing random failures. Assicurarsi che le chiamate alle funzioni siano sincronizzate.Make sure that calls to these functions are synchronized.

RequisitiRequirements

RoutineRoutine Intestazione obbligatoriaRequired header
_putenv_putenv <stdlib.h><stdlib.h>
_wputenv_wputenv <stdlib.h> or <wchar.h><stdlib.h> or <wchar.h>

Per altre informazioni sulla compatibilità, vedere Compatibilità.For more compatibility information, see Compatibility.

EsempioExample

Per un esempio di utilizzo putenv, vedere getenv, wgetenv.For a sample of how to use _putenv, see getenv, _wgetenv.

Vedere ancheSee also

Controllo di processi e ambienteProcess and Environment Control
getenv, _wgetenvgetenv, _wgetenv
_searchenv, _wsearchenv_searchenv, _wsearchenv