我有一个C程序打印每个环境变量,其名称由stdin给出.它打印变量,如$ PATH,$ USER,但它没有看到我在Linux shell中定义的环境变量...例如,在bash中我定义了我的= 4,并且我希望程序返回4当我输入"我的".
int main () {
char * key = (char * )malloc(30);
scanf("%s", key);
if(getenv(key) != NULL)
printf("%s\n", getenv(key));
else
printf("NULL\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我可以做些什么来改善getenv的结果?我想让它向我展示所有环境变量以及Linux shell的所有继承.谢谢..
可能重复:
根据谓词从列表中删除元素
假设我有一个列表,我想从中删除尊重条件的元素,我怎样才能更容易实现?
我尝试过:
for i in range (len(list)):
if [condition]:
del(list[i]);
Run Code Online (Sandbox Code Playgroud)
显然它不起作用...在我的脑海中唯一的解决方案是转移到左边替换我想要删除的元素然后删除最后一个元素..无论如何有更快的解决方案吗?