如何在C程序中使用环境变量
我需要知道一种在C编程语言中使用环境变量的方法。我如何使用和阅读它们如何在C程序中使用环境变量,c,variables,path,environment,C,Variables,Path,Environment,我需要知道一种在C编程语言中使用环境变量的方法。我如何使用和阅读它们 例如,读取环境变量或获取环境变量的值并将其加载到另一个变量中。使用stdlib.h中的函数。就这样 您可以使用以下功能- char*getenv(const char*name)-返回一个字符串,该字符串是环境变量名称的值 char*secure\u getenv(const char*name) 在此处阅读更多函数-: #包括 #包括 int main(int argc,char*argv[]) { char*my_env_
例如,读取环境变量或获取环境变量的值并将其加载到另一个变量中。使用
stdlib.h
中的函数。就这样 您可以使用以下功能-
char*getenv(const char*name)
-返回一个字符串,该字符串是环境变量名称的值
char*secure\u getenv(const char*name)
在此处阅读更多函数-:
#包括
#包括
int main(int argc,char*argv[])
{
char*my_env_var=getenv(“my_env_var”);
如果(我的环境变量)
printf(“找到的变量:%s”,我的环境变量);
其他的
printf(“未找到Var”);
返回0;
}
我的2美分。
我是一个老的CGIC程序员。
运行一个env。变量请求,您将遇到麻烦
因为www数据(apache2用户)没有适当的权限。
(上下文:web和cgi执行)
我一直在尝试各种可能性
用popen()然后“grep”我想要的信息。。。
积极和积极的是:
df、ps、服务器时间、可用内存
lsb发行版-操作系统说明的d版
CPU ID的cat/proc/cpuinfo
操作系统说明的“lsb_版本-d”
通过www数据用户可以很好地工作。
2美分
斯蒂芬
我投票结束这个问题,因为谷歌的确切标题是:“大约1560000个结果”,现在,这就是其中之一。这里的链接现在断了。一般来说,最好在答案中加入更多的上下文,以防外部链接在发布几年后中断。感谢有用的链接!但是,请您澄清一下(或者提供一个链接到某种澄清的文章)当可执行文件设置了SUID/SGID位时,为什么环境不可信?我尝试过,但gcc不喜欢它:“错误:初始值设定项元素不是常量”ubuntu18上的gcc 7.5.0
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char* my_env_var = getenv("MY_ENV_VAR");
if(my_env_var)
printf("Var found: %s", my_env_var );
else
printf("Var not found.");
return 0;
}
my 2 cents.
I'm an old CGI C programmer.
Run a env. variable request, you will run in trouble
since www-data (apache2 user) don't have proper permission.
(Context : web and cgi execution)
I've been experimenting with all possibilities
with popen() then "grep" what I want for info...
and positive are :
df, ps, server time, free memory
lsb-release -d for os description
cat /proc/cpuinfo for CPU ID
"lsb_release -d" for OS description
those work fine through www-data user.
2 cents
steph