gpt4 book ai didi

c - 从环境 C 中的给定变量中删除值

转载 作者:行者123 更新时间:2023-11-30 16:00:09 25 4
gpt4 key购买 nike

我有这个函数,我试图从路径中删除给定变量的值。问题是我不知道如何在每次删除最后一个以分号分隔的字符串后将环境变量设置为新值。

例如,如果我的变量是:

天气=热;冷;干燥

成为

天气=热;冷

int remove(char name_Remove[]){
char *value_toRemove = getenv(name_Remove);
char *pos = strrchr(value_toRemove, ';');

if(pos) {
*pos = 0;
return pos-name_Remove;
}
return 0;
}

此外,我已经有一个函数,可以将变量和值添加到环境中,如果这有助于以下形式:

void add(char name[], char value[]) {
}

最佳答案

调用setenv应该这样做。但这只会更新当前环境,因此对环境变量的任何更改只会对当前进程生效。

我认为如果不从 bash 执行进程,就不可能更改父进程(即 shell)中的环境变量。

关于c - 从环境 C 中的给定变量中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8027111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com