我需要为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。
我已尝试过其他环境变量,但我特别不能使用我导出的这个。
答案 0 :(得分:1)
让我猜一下:您正在从IDE运行程序。 IDE为您的程序提供的环境与导出变量的环境完全无关。建议:从您执行export
的终端的命令行运行程序。你应该可以看到你的变量了。
然后在IDE中搜索指定目标程序环境的方法,并将其设置在那里。
(可选)将导出行添加到shell的启动脚本中。