标签:ext show 通过 setenv 代码 无法 2.4 stdio.h 分享图片
这是启动例程的第二各作用,搜集环境表,然后传递给主函数。
环境表就是一个指针数组。
环境表
1 #include <stdio.h> 2 #include <unistd.h> 3 #include <string.h> 4 #include <stdlib.h> 5 #include <fcntl.h> 6 7 int main(int argc, char *argv[], char *envp[]) 8 { 9 int i = 0; 10 char *env; 11 while((env = envp[i]) != NULL) { 12 printf("%s\n", env); 13 i++; 14 } 15 16 return 0; 17 }
1 #include <stdio.h> 2 #include <unistd.h> 3 #include <string.h> 4 #include <stdlib.h> 5 #include <fcntl.h> 6 7 extern char **environ; 8 9 void show_env() 10 { 11 int i = 0; 12 char *env; 13 while((env = environ[i]) != NULL){ 14 printf("%s\n", env); 15 i++; 16 } 17 } 18 19 int main(void) 20 { 21 show_env(); 22 return 0; 23 }
头文件都为 stdlib.h
1 #include <stdlib.h> 2 char * getenv(const char *name);
1 #include <stdlib.h> 2 int putenv(const char * string);
1 #include <stdlib.h> 2 int setenv(const char *name,const char * value,int overwrite);
#include <stdlib.h> int unsetenv(const char *name);
1 #include <stdio.h> 2 #include <unistd.h> 3 #include <string.h> 4 #include <stdlib.h> 5 #include <fcntl.h> 6 7 extern char **environ; 8 9 void show_env() 10 { 11 int i = 0; 12 char *env; 13 while((env = environ[i]) != NULL){ 14 printf("%s\n", env); 15 i++; 16 } 17 } 18 19 int main(void) 20 { 21 show_env(); 22 printf("==============================================\n"); 23 putenv("CCTV=beijing"); 24 setenv("COMPANY", "homenone", 1); 25 show_env(); 26 printf("==============================================\n"); 27 unsetenv("CCTV"); 28 unsetenv("COMPANY"); 29 show_env(); 30 return 0; 31 }
标签:ext show 通过 setenv 代码 无法 2.4 stdio.h 分享图片
原文地址:https://www.cnblogs.com/kele-dad/p/9124047.html