0

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

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

file.conf是我创建的文件。

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

#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。我已经尝试过使用其他环境变量,但我无法使用我导出的这个变量。

4

1 回答 1

1

让我猜猜:您正在从 IDE 运行程序。IDE 为您的程序提供的环境与您导出变量的环境完全无关。建议:在您执行操作的终端的命令行中运行您的程序export。你会看到你的变量没问题。

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

或者,将导出行添加到 shell 的启动脚本中。

于 2014-04-24T22:23:46.473 回答