我的程序
int main(void){
printf("Log file location : %s\n", getenv("LOG_FILE"));
return 0;
}总是打印空。
但是我已经设置了env
/etc/nagios/..profile文件,其中我的用户是"nagios“,由导出LOG_ file =/root/log
在终端中执行"env"命令时,我也能够看到同样的情况。
发布于 2013-04-12 10:46:45
函数getenv显示了一个非常有趣的结果,如果您忘记将#include <stdlib.h>写入文件头中。
例如,代码:
#include <stdio.h>
#include <stdlib.h>
int main(void){
printf("Log file location : %s\n", getenv("LOG_FILE"));
return 0;
}效果很好:
LOG_FILE="log" ./a.out
Log file location : log但当我评论第二行时,我得到:
LOG_FILE="log" ./a.out
Segmentation fault (core dumped)https://stackoverflow.com/questions/15969195
复制相似问题