Tag: env

使用getenv和env不会给出相同的结果:

我有一个C程序打印每个环境变量,其名称由stdin给出。 它打印变量,如$ PATH,$ USER,但它没有看到我在Linux shell中定义的环境变量…例如,在〜.bashrc中我导出了MYTEST = test_is_working,然后我找到了bashrc(源代码) 〜/ .bashrc中)。 我希望程序返回test_is_working与getenv,但事实并非如此。 #include #include #include int main(int argc, char *argv[]) { QApplication a(argc, argv); char* my_env= getenv(“MYTEST”); if(my_env!=NULL){ printf(“my env is : %s \n”, my_env); } else { printf(“can’t find env \n”); } return a.exec(); } 它返回:找不到环境 当我打开终端并输入“env”时,我有MYTEST = test_is_working 我看到了类似的post: 使用getenv函数解决方案是从shell启动程序。 但我不能,因为我在Qtcreator中运行和调试。 我不知道我哪里错了,有人可以向我解释一下吗? 谢谢