😸
[C] unsetenv 関数
機能
環境変数を削除する POSIX標準の関数[1]
使用例
unsetenv("MY_VAR");
とすれば環境変数が消える
\n
は改行を表す エスケープシーケンス[2]
コード
unsetenv("MY_VAR");
全文
#include <stdio.h>
#include <stdlib.h>
void main() {
setenv("MY_VAR", "Hello", 1); // 環境変数をセット
printf("Before unsetenv: %s\n", getenv("MY_VAR"));
unsetenv("MY_VAR"); // 環境変数を削除
printf("After unsetenv : %s\n", getenv("MY_VAR")); // NULLになる
}
実行結果
Before unsetenv: Hello
After unsetenv : (null)
変数名を使って削除する
コード
char *name = "MY_VAR";
unsetenv(name);
全文
#include <stdio.h>
#include <stdlib.h>
void main() {
setenv("MY_VAR", "OK", 1);
char *name = "MY_VAR";
printf("Before: %s\n", getenv(name));
unsetenv(name);
printf("After: %s\n", getenv(name));
}
実行結果
Before: OK
After: (null)
Discussion