我需要建立類似於C標準庫的putenv()
功能的功能有一定的幫助,但不是:功能傳給putenv()
int putenv(char *string);
它的原型爲:
void env_add(char varname[], char varvalue[]);
其中varname[]
和varvalue[]
由用戶輸入並且是char類型。
我需要建立類似於C標準庫的putenv()
功能的功能有一定的幫助,但不是:功能傳給putenv()
int putenv(char *string);
它的原型爲:
void env_add(char varname[], char varvalue[]);
其中varname[]
和varvalue[]
由用戶輸入並且是char類型。
你應該測量的varname
和varvalue
(如與strlen
)的長度,分配動態字符串足夠長的時間來保存它們,等號和空結束,建varname=varvalue
字符串(如果你是受虐狂類型的話,你可以用snprintf
或或兩個for
循環來做到這一點),將新字符串傳遞給putenv
並釋放你構建的字符串。
順便說一下,我會將varname
和varvalue
的類型更改爲const char *
,因爲在您的函數中您並未實際修改它們。
這是不是很辛苦:
void env_add(char varname[], char varvalue[])
{
char* argument = ...;
/* ...do something to create an argument out of name and value... */
putenv(argument);
};