Linux环境变量和C项目getenv()

时间:2014-04-24 21:36:47

标签: c linux path environment-variables getenv

我需要为C项目使用环境变量,所以我在终端中执行了此操作:

export FILE_CONFIG="/home/pc/file.conf"

file.conf 是我创建的文件。

如果我在终端中env,我可以看到" FILE_CONFIG"在列表中的值(/home/pc/file.conf)。 我想分配给 path_to_config - > /home/pc/file.conf 在 .C 程序中,我这样做了:

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

int main(int argc, char *argv[]) {

    char* path_to_config = getenv("FILE_CONFIG");

但是getenv没有返回FILE_CONFIG的路径。 当我查看调试模式时,path_to_config值为0x0。 我已尝试过其他环境变量,但我特别不能使用我导出的这个。

1 个答案:

答案 0 :(得分:1)

让我猜一下:您正在从IDE运行程序。 IDE为您的程序提供的环境与导出变量的环境完全无关。建议:从您执行export的终端的命令行运行程序。你应该可以看到你的变量了。

然后在IDE中搜索指定目标程序环境的方法,并将其设置在那里。

(可选)将导出行添加到shell的启动脚本中。