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因為 PATH 與 NAME之間的空白,所以無效。 同樣地 PATH=NAME=/my_lib/joe_user因為 PATH 與 NAME之間的等號,所以無效。 系統會將第一個等號後面的所有字元解譯為環境變數的 值 。回覆值
如果成功, 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