如何在int putenv(char * string)中放入2个char数组;在C.

时间:2011-11-05 23:21:59

标签: c path

我正在尝试使用此函数在Windows环境中设置变量名称和变量值

void env_add(char varname[], char varvalue[]) {

}

问题是我不知道如何将这两个变量都放到int putenv(char *string);

我应该将它们组合成一个char数组吗?

谢谢

1 个答案:

答案 0 :(得分:2)

是的,您应该将它们组合成一个字符串。该字符串的格式为" name = value"

char* buffer = (char*) malloc( strlen(name) + 1 + strlen(value) + 1 );

strcpy( buffer, name );
strcat( buffer, "=" );
strcat( buffer, value );

putenv( buffer );

free( buffer );