Partager via


_putenv, _wputenv

Crée, modifier, ou supprime des variables d'environnement.Les versions sécurisées de ces fonctions sont disponibles ; consultez _putenv_s, _wputenv_s.

Important

Cette API ne peut pas être utilisée dans les applications qui s'exécutent dans les fenêtres d'exécution.Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.

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

Paramètres

  • envstring
    Définition d'Environnement-chaîne.

Valeur de retour

Retourne 0 si l'opération a réussi ou à 1 dans le cas d'une erreur.

Notes

La fonction d' _putenv ajoute de nouvelles variables d'environnement ou modifie les valeurs des variables d'environnement existant.Les variables d'environnement définissent l'environnement dans lequel un processus s'exécute (par exemple, le chemin de recherche par défaut pour les bibliothèques sont attachées à un programme)._wputenv est une version à caractère élargi d' _putenv; l'argument d' envstring à _wputenv est une chaîne à caractères larges.

Mappages de routines de texte générique

Routine de Tchar.h

_UNICODE et non définis _MBCS

_MBCS défini

_UNICODE défini

_tputenv

_putenv

_putenv

_wputenv

L'argument d' envstring doit être un pointeur vers une chaîne au format varname=string, où varname est le nom de la variable d'environnement à ajouter ou modifié et string est la valeur de la variable.Si varname est déjà partie de l'environnement, sa valeur est remplacée par string; sinon, la variable d' varname et sa valeur d' string sont ajoutées à l'environnement.Vous pouvez supprimer une variable d'environnement en spécifiant string vide (en d'autres termes, en spécifiant que varname=.

_putenv et _wputenv affectent uniquement l'environnement qui est local par rapport à le processus actuel ; vous ne pouvez pas les utiliser pour modifier l'environnement de commande- niveau.Autrement dit, ces fonctions fonctionnent uniquement sur les structures de données accessibles à la bibliothèque Runtime et pas sur le segment d'environnement créé pour un processus par le système d'exploitation.Lorsque le processus actuel se termine, l'environnement retourne au niveau de le processus appelant (dans la plupart des cas, le niveau du système d'exploitation).Toutefois, l'environnement modifié peut être passé à tous les nouveaux processus créés par _spawn, _exec, ou system, et ces nouveaux processus obtiennent les nouveaux éléments ajoutés par _putenv et _wputenv.

Ne modifiez pas l'entrée d'un environnement directement : à la place, utilisez _putenv ou _wputenv pour le modifier.En particulier, les éléments libérants directs du tableau globale d' _environ[] peuvent mener à la mémoire non valide est traité.

getenv et _putenv utilisent la variable globale _environ pour accéder au tableau d'environnement ; _wgetenv et _wputenv utilisent _wenviron._putenv et _wputenv peuvent modifier la valeur d' _environ et d' _wenviron, ainsi infirmant l'argument d' _envp par main et l'argument d'wenvp _par wmain.Par conséquent, il est plus sûr d'utiliser _environ ou _wenviron pour accéder aux informations d'environnement.Pour plus d'informations sur la relation d' _putenv et d' _wputenv aux variables globales, consultez l' _environ, _wenviron.

[!REMARQUE]

Les familles de _putenv et d' _getenv des fonctions ne sont pas thread-safe._getenv peut retourner un pointeur de chaîne alors qu' _putenv modifie la chaîne, provoquant des défaillances aléatoires.Assurez-vous que les appels à ces fonctions sont synchronisés.

Configuration requise

Routine

En-tête requis

_putenv

<stdlib.h>

_wputenv

<stdlib.h> ou <wchar.h>

Pour plus d'informations de compatibilité, consultez l' Compatibilité dans l'introduction.

Exemple

Pour obtenir un exemple d'utilisation _putenv, consultez getenv, _wgetenv.

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' Exemples d'appel de code non managé.

Voir aussi

Référence

Processus et contrôle ambiance

getenv, _wgetenv

_searchenv, _wsearchenv