C语言中使用环境变量的技巧

C语言中使用环境变量的技巧,第1张

C语言中使用环境变量的技巧,第2张

readenv.c程序展示了用C语言访问环境变量的一些技巧。程序会以与dos的SET命令相同的格式打印出当前所有的环境变量,然后寻找路径变量,打印出整个路径字符串。这个程序中有两个重要的子程序,find_env_string()。它的主要作用是:根据调用this起的要求,从environments 空之间的起点开始,或者从上次搜索后停留的地方开始,找到第一个后续的环境字符串。具体节目单如下。


/* * * * * * * * * * * * readnv . c * * * * * * * * * * * * * */
# include
# include
# include

# define MAX 127
# define TRUE 1
# define FALSE 0
# define FIRST 1
# define NEXT 0

void dispenv(无效);
int find _ env _ string(int restart);

char env _ string[MAX+2];
int env _ offset = 0;

void main()
{
char * path _ string;/*调用子例程dispenv()以与SET命令相同的格式打印出当前环境字符串*/
dispenv();/*在环境变量中查找PATH变量,并打印出整个参数字符串*/
if(PATH _ string = = getenv(" PATH "))
printf(" \ n PATH = % s ",PATH _ string);
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

void dispenv()
{
int restart;/*在for循环中,首先将restart设置为FIRST,调用子例程find_env_string()
查找第一个环境字符串并打印,然后将restart设置为NEXT。继续查找下一个
环境字符串,直到end子例程find_env_string()返回FALSE */
for(find _ env _ string(restart);restart = NEXT)
printf(" \ n % s ",env _ string);
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

int find _ env _ string(int restart)
{
int buf _ offset;
int环境;
如果(!环境)/*将环境空之间的短url发送到变量environment */
environment = peek(_ PSP,0x2c);
if(restart)
environment = 0;/*第一次调用时,偏移量设置为0,即从环境空*/
for(buf _ offset = 0;真实;env _ offset++){
env _ string[buf _ offset]= peekb(env,env _ offset);
/*将环境空中的字符逐个读入数组env _ string
If(env _ string[BUF _ offset]){/*如果是空字符,则继续*/
BUF _ offset。
继续;
}
if(!Buff _ offset)/*如果buf_offset=0,中间环境结束,false */
返回false;
env _ offset++;/*如果是空字符,则环境字符串结束,true */
返回true;
}
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C语言中使用环境变量的技巧

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情