代码之家  ›  专栏  ›  技术社区  ›  Anindya Chatterjee

如何在C中设置env变量并启动进程?

  •  2
  • Anindya Chatterjee  · 技术社区  · 14 年前

    如何在ansic for Windows中设置环境变量并启动进程?如果可能的话,我想避免使用任何windowsapi。

    4 回复  |  直到 7 年前
        1
  •  1
  •   gavinb    14 年前

    假设可移植性是您指定ansic的原因,那么您可以使用POSIX函数做您想要做的事情 _execve

    这是一个可移植函数,它生成一个新的子进程,并允许您提供一系列环境设置。

        2
  •  3
  •   Roland Illig    14 年前

    在纯ansic中,这是不可能的。两种功能都没有 setenv 也不是 putenv ,甚至 execv*

    相反,我建议您以您想要的方式编写一个小接口(可能看起来像 execve )并且依赖于系统。这样,当您将程序移植到非Windows环境时,就可以很容易地更改包装器。

        3
  •  0
  •   user209462    14 年前

    你可以用 CreateProcess

        4
  •  0
  •   Iustin    14 年前

    要使用Win32 API启动进程,请使用 CreateProcess 功能如kayrick所述。

    SetEnvironmentVariable .

    你也可以看看 GetEnvironmentVariable .

    希望这有帮助。