以下のメソッドがあり、ret 値を正しく 0 に設定します (setenv での成功を示します) が、この環境変数が実際に設定されているかどうかを確認すると、存在しません。なぜこれが起こるのでしょうか?
void Class::mysetenv(char* a, char* b)
{
if(a==0 || b==0)
return;
int ret = setenv(strdup(a), strdup(b), 1);
printf("ret: %d %s %s\n", ret, a, b);
}