posts - 225, comments - 62, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

在程序中获取环境变量的值

Posted on 2006-04-13 19:43 魔のkyo 阅读(1127) 评论(2)  编辑 收藏 引用 所属分类: Programming
#include < string .h >
#include
< stdio.h >
// ep:char *temp=setenv(env,"temp");,其中env是main函数中的第三的参数

char   *  setenv( char   * env[], char   * str)
/* str为要找的环境变量名,不区分大小写 */
/* 返回指向str对应的环境变量值的指针,如果没找到返回NULL */  
{
    
char   * path = NULL;
    
int  length = strlen(str);
    
for ( int  i = 0 ;env[i];i ++ ){
        
if (memicmp(env[i],str,length) == 0   &&  env[i][length] == ' = ' ){
            path
=& env[i][strlen(str) + 1 ];
            
break ;
        }
    }
    
return  path;
}
main(
int  argc, char   *  argv[],  char   *  env[])
{
    
const   char   * temp = setenv(env, " temp " );
    printf(
" %s\n " ,temp);
    getchar();
    
return   0 ;
}

Feedback

# re: 在程序中获取环境变量的值  回复  更多评论   

2008-05-29 12:25 by vfdff
输入的参数给个示例!

# re: 在程序中获取环境变量的值  回复  更多评论   

2008-10-31 16:19 by youcaihua
用_putenv写环境变量后,马上用getenv读取,能获取设置的环境变量。退出程序后,直接读取,则返回空指针。在Windows XP系统中通过"我的电脑>>属性>>高级"查看环境变量也看不到,请教各位高手,是啥缘故!
只有注册用户登录后才能发表评论。