_putenv, _wputenv
Crear, modificar, o quitar variables de entorno.Versiones más seguras de estas funciones están disponibles; vea _putenv_s, _wputenv_s.
Importante |
---|
Esta API no se puede utilizar en las aplicaciones que se ejecutan en tiempo de ejecución de Windows.Para obtener más información, vea Funciones CRT no compatibles con /ZW. |
int _putenv(
const char *envstring
);
int _wputenv(
const wchar_t *envstring
);
Parámetros
- envstring
Definición de la intermediate language cadena.
Valor devuelto
Devuelve 0 si correctamente o – 1 en el caso de un error.
Comentarios
La función de _putenv agrega nuevas variables de entorno o modifica los valores de las variables de entorno existentes.Las variables de entorno definen el entorno en el que un proceso se ejecuta (por ejemplo, la ruta de búsqueda predeterminada en las bibliotecas estén vinculadas con un programa)._wputenv es una versión con caracteres anchos de _putenv; el argumento de envstring a _wputenv es una cadena de caracteres.
Asignaciones de la rutina de Genérico- texto
Rutina de Tchar.h |
_UNICODE y _MBCS no definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tputenv |
_putenv |
_putenv |
_wputenv |
El argumento de envstring debe ser un puntero a una cadena con el formato varname=string, donde es el nombre varname de la variable de entorno que se agregue o modificado y string es el valor de la variable.Si varname ya es parte del entorno, su valor es reemplazado por string; si no, la nueva variable de varname y el valor de string se agregan al entorno.Puede quitar una variable de entorno especificando string vacío es decir especificando únicamente varname=.
_putenv y _wputenv solo afectan al entorno que es local en el proceso actual; no puede utilizar para modificar el entorno de comando.Es decir, estas funciones solo funcionan en estructuras de datos accesibles a la biblioteca en tiempo de ejecución y no en el segmento de entorno creado para un proceso por el sistema operativo.Cuando el proceso actual finaliza, el entorno vuelve a nivel del proceso de llamada (en la mayoría de los casos, el nivel del sistema operativo).Sin embargo, el entorno modificado se puede pasar a cualquier nuevo proceso creado por _spawn, _exec, o system, y estos nuevos procesos obtienen los nuevos elementos agregados por _putenv y _wputenv.
No cambie una entrada de entorno directamente: en su lugar, utilice _putenv o _wputenv para cambiarlo.En concreto, los elementos que liberaban directos de matriz global de _environ[] podrían conducir a la no válida que se ejecuta.
getenv y _putenv utilizan la variable global _environ para tener acceso a la tabla de entorno; _wgetenv y _wputenv utilizan _wenviron._putenv y _wputenv podrían cambiar el valor de _environ y de _wenviron, lo que invalida el argumento de _envp a main y el argumento de wenvp de _a wmain.Por tanto, es más seguro utilizar _environ o _wenviron para tener acceso a información del entorno.Para obtener más información sobre la relación de _putenv y de _wputenv a las variables globales, vea _environ, _wenviron.
[!NOTA]
Familias de _putenv y de _getenv de funciones no son seguros para subprocesos._getenv podría devolver un puntero de cadena mientras _putenv modifica la cadena, produciendo errores aleatorios.Asegúrese de que las llamadas a estas funciones están sincronizadas.
Requisitos
Rutina |
Encabezado necesario |
---|---|
_putenv |
<stdlib.h> |
_wputenv |
<stdlib.h> o <wchar.h> |
Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.
Ejemplo
Para obtener un ejemplo de cómo utilizar _putenv, vea getenv, _wgetenv.
Equivalente en .NET Framework
No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.