添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
追风的大象  ·  ASP.NET ...·  1 周前    · 
沉稳的木瓜  ·  Python_PyCharm_Turtle- ...·  4 天前    · 
千杯不醉的剪刀  ·  BAFTA Scholarship ...·  4 月前    · 
英姿勃勃的酱牛肉  ·  libbz2.so.1.0 on ...·  7 月前    · 
奔跑的沙发  ·  SNMP Plugin Proposal ...·  7 月前    · 

此 API 不能用于在 Windows 运行时中执行的应用程序。 有关详细信息,请参阅 通用 Windows 平台应用中不支持的 CRT 函数

有关 _tputenv_s ,请参阅 泛型文本函数映射

errno_t _putenv_s(
   const char *varname,
   const char *value_string
errno_t _wputenv_s(
   const wchar_t *varname,
   const wchar_t *value_string

varname
环境变量名称。

value_string
要将环境变量设置为的值。

如果成功,则返回 0;否则,返回错误代码。

varname value_string

如果发生某个错误条件,这些函数将调用无效参数处理程序,如参数验证中所述。 如果允许执行继续,则这些函数将返回 EINVAL 并将 errno 设置为 EINVAL

_putenv_s 函数添加了新的环境变量,或修改了现有环境变量的值。 环境变量定义过程执行的环境(例如待与程序链接的库的默认搜索路径)。 _wputenv_s_putenv_s的宽字符版本; envstring_wputenv_s 参数是宽字符字符串。

默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态

泛型文本函数映射

列中的 tchar.h 函数映射到其他列中的函数,具体取决于编译时定义的字符集。

tchar.h 函数 _UNICODE_MBCS 未定义 _MBCS 已定义 _UNICODE 已定义

varname 是要添加或修改的环境变量的名称,value_string 是变量的值。 如果 varname 已是环境的一部分,则其值将由 value_string 替代;否则,新的 varname 变量及其 value_string 值将添加到环境中。 你可以通过为 value_string 指定空字符串(即 "")来从环境中移除变量。

_putenv_s_wputenv_s 仅影响当前进程的本地环境;你不能用它们来修改命令级别的环境。 这些函数仅对运行库可访问的数据结构执行,而不对操作系统为进程创建的环境“段”运行。 在当前进程终止时,环境将还原到调用进程的级别,它在大多数情况下为操作系统级别。 但是,可以将修改后的环境传递给由 _spawn_execsystem 创建的任何新进程,这些新进程将获取由 _putenv_s_wputenv_s 添加的所有新项。

不要直接更改环境条目;而是使用 _putenv_s_wputenv_s 更改它。 具体而言,直接释放 _environ[] 全局数组的元素可能会导致对无效内存寻址。

getenv_putenv_s 使用全局变量 _environ 来访问环境表;_wgetenv_wputenv_s 使用 _wenviron_putenv_s_wputenv_s 可能更改 _environ_wenviron 的值,因此会使 envpmain 参数和 _wenvpwmain 参数无效。 因此,使用 _environ_wenviron 来访问环境信息更安全。 若要详细了解 _putenv_s_wputenv_s 与全局变量的关系,请参阅 _environ_wenviron

_putenv_s_getenv_s 系列的函数不是线程安全函数。 当 _getenv_s 修改字符串时,_putenv_s 会返回字符串指针,从而导致随机失败。 确保对这些函数的调用同步。

必需的标头