我需要一些帮助来创建一个类似于C标准库的putenv()
函数的函数,而不是:
int putenv(char *string);
原型为:
void env_add(char varname[], char varvalue[]);
其中varname[]
和varvalue[]
由用户输入,且类型为char。
答案 0 :(得分:1)
你应该测量varname
和varvalue
的长度(例如strlen
),动态分配足够长的字符串以保存它们,等号和空终止符,构建varname=varvalue
字符串(如果您是受虐狂类型,可以使用snprintf
或strncat
,或使用两个for
循环执行此操作,将新字符串传递给{{1并解除分配您构建的字符串。
顺便说一下,我会将putenv
和varname
的类型更改为varvalue
,因为在您的函数中,您实际上并没有修改它们。
答案 1 :(得分:0)
这不是很难:
void env_add( char varname[], char varvalue[] )
{
char* argument = ...;
/* ...do something to create an argument out of name and value... */
putenv( argument );
};