putenv ()- 變更/新增環境變數

格式

#include <stdlib.h>
int putenv(const char *varname);

語言層次

XPG4

安全執行緒

工作 CCSID 介面

傳送至此功能的所有字元資料都預期在工作的 CCSID 中。 此函數傳回的所有字元資料都在工作的 CCSID 中。 如需相關資訊,請參閱 瞭解 CCSID 及語言環境

說明

putenv() 函數會透過變更現有變數或建立新的變數來設定環境變數的值。 varname 參數指向格式為 var=x的字串,其中 x 是環境變數 var的新值。

名稱 不能包含空白或等號 (=) 符號。 例如,
    PATH NAME=/my_lib/joe_user
因為 PATHNAME之間的空白,所以無效。 同樣地
    PATH=NAME=/my_lib/joe_user
因為 PATHNAME之間的等號,所以無效。 系統會將第一個等號後面的所有字元解譯為環境變數的

回覆值

如果成功, putenv() 函數會傳回 0。 如果 putenv() 失敗,則會傳回 -1 ,並設定錯誤碼以指出錯誤。

範例

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
   char *pathvar;
 
   if (-1 == putenv("PATH=/:/home/userid")) {
      printf("putenv failed \n");
      return EXIT_FAILURE;
   }
   /* getting and printing the current environment path     */
 
   pathvar = getenv("PATH");
   printf("The current path is: %s\n", pathvar);
   return 0;
}
 
/**********************************************************
   The output should be:
 
   The current path is: /:/home/userid

相關資訊