c - c 中的 setenv() 不添加我的自定义 bin 目录

标签 c unix path setenv

我想将我的 folmer /myBin/bin 添加到 PATH 环境变量中,其中包含可执行文件,这样我就可以 execvp() 这些。

setenv() 似乎没有将我的目录添加到 PATH,我缺少什么?

谢谢

#include <stdlib.h>
#include <limits.h>
#include <string.h>
#include <stdio.h>

int main(void){
    char binDir[PATH_MAX+1];
    strcpy(binDir,"~/myBin/bin");
    char pathDir[PATH_MAX+1];
    strcpy(pathDir,"PATH");

    printf("Variable d'environnement (%s)\n\n\n", getenv("PATH"));
    setenv(pathDir,binDir,0);
    printf("Variable d'environnement (%s)\n", getenv("PATH"));
    return 0;
}

最佳答案

根据 setenv 文档,您已将 setenv 的最后一个参数设置为 0 “如果覆盖为零,则名称的值不会更改。”,您可以尝试将 1 作为覆盖参数传递给 setenv

关于c - c 中的 setenv() 不添加我的自定义 bin 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43697538/

相关文章:

c - 来自 getaddrinfo() 的 4 错误的无效读取大小

python - Virtualenvwrapper - .bash_profile 的正确设置

linux - SonarQube 可以配置为在 linux 机器上使用 windows 行结尾吗?

java - 使用 dfs 在图中查找单个路径

Qt:展开 ~ 到主目录

c# - 在 C 结构中设置变量就像在 C# 类构造函数中一样

c - 为什么 C 中的类型转换需要括号?

c++ - 为什么 ChangeWindowMessageFilter 会导致 Qt 崩溃?

json - 根据内容重命名 JSON 文件

ubuntu - 路径问题 : Could not find valid SPARK_HOME while searching