特定の環境変数
# defing _GNU_SOURCE
# include <stdio.h>
# include <stdlib.h>
# if _GNU_SOURCE 1 /* 特権ないと実行できない */
const* char path = secure_getenv("PATH");
puts(path);
# else /* 特権なくてもおk */
const* char path = getenv("PATH");
puts(path);
# endif
#define OVER_WRITE 0
#define YES 0
#define NO 1
const char* name = "hoge";
const char* value = "1"
/* 同名の環境変数は上書き */
/* name=value 形式 */
int ret = setenv(name, value, OVER_WRITE+YES);
/* 上書きしない */
setenv(name, value, OVER_WRITE+NO);
switch (ret) {
case -1:
perror("setenv");
break;
case 0:
puts("Success");
break;
}
環境変数すべて
{
extern char** environ;
int i;
for(i=0; environ[i] != NULL; ++i) {
puts(environ[i]);
}
}