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

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

ID:17409942

大小:26.91 KB

页数:28页

时间:2018-08-31

c语言中使用环境变量的技巧_第1页
c语言中使用环境变量的技巧_第2页
c语言中使用环境变量的技巧_第3页
c语言中使用环境变量的技巧_第4页
c语言中使用环境变量的技巧_第5页
资源描述:

《c语言中使用环境变量的技巧》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言中使用环境变量的技巧C语言中使用环境变量的技巧C语言~~自制-拼图游戏C语言中使用环境变量的技巧实例1:程序readenv.c显示了在c语言中存取环境变量的若干技巧。该程序将以与dos的SET命令相同的格式打印出当前所有的环境变量,然后寻找PATH变量,打印出整个路径字符串。该程序中有两个重要的子程序,find_env_string(),它的主要作用是:根据从调用这传来的要求,或者从环境空间的起点开始,或者从上一次搜索後停留的地方开始,寻找随后的第一个环境字符串,具体程序清单如下。/**************readnv.c**********

2、******/#include#include#include#defineMAX127#defineTRUE1#defineFALSE0#defineFIRST1#defineNEXT0voiddispenv(void);intfind_env_string(intrestart);charenv_string[MAX+2];intenv_offset=0;voidmain(){char*path_string;/*调用子程序dispenv(),以与SET命令相同的格式打印出当前环境字符串*/dispenv();/*在环境变量中寻找PATH变量,并打

3、印出整个论经字符串*/if(path_string==getenv("PATH"))printf("PATH=%s",path_string);}/********************************************/voiddispenv(){intrestart;/*在for循环中,先置restart为FIRST,调用子程序find_env_string()寻找第一个环境字符串并打印,而后置restart为NEXT,继续寻找下一个环境字符串,直到结束子程序find_env_string()返回FALSE为止*/for(res

4、tart=FIRST;find_env_string(restart);restart=NEXT)printf("%s",env_string);}/********************************************/intfind_env_string(intrestart){intbuf_offset;intenvironment;if(!environment)/*将环境空间短地址送入变量environment中*/environment=peek(_psp,0x2c);if(restart)environment=0;

5、/*首次调用时,偏移量置0,即从环境空间起点开始*/for(buf_offset=0;TRUE;env_offset++){env_string[buf_offset]=peekb(environment,env_offset);/*将环境空间中的字符逐个读入数组env_string中if(env_string[buf_offset]){/*若为空字符,继续*/buf_offset++;continue;}if(!buf_offset)/*若buf_offset=0,则中个环境结束,回FALSE*/returnFALSE;env_offset++;/*

6、若为空字符,则一个环境字符串结束,回TRUE*/returnTRUE;}}实例2:因为TurboC提供了getenv(),putenv()两个函数,所以,在C语言中可以方便的编写程序,对环境串进行检测并解释它。例如,如果用户在计算机上安装了鼠标Mouse,则在dos下键入:SETMOUSE=YES}如果没有安装鼠标,则不见入这条命令。那么,以后在c语言程序中就可以利用getenv()函数来检测环境变量MOUSE,从而判断是否安装了鼠标,已决定是否应该装入鼠标驱动程序。程序清单如下:/********************readmouse******

7、*****************/#include#includemain(){loadmous();....../*其它程序语句省略,根据用户的程序而定*/getch();return;}loadmous(){char*p;/*调用getenv()函数,返回指向环境变量mouse的指针,若无mouse变量,则返回空指针*/if((p=getnv("MOUSE"))!=NULL){if(!strcmp(p,"YES",3))./*若变量mouse村在且等于YES,即曾在DOS下键入:SETMOUSE=YES则装入鼠标驱动程序*/./*安装部分省略*/

8、.elseprintf("Nomouse");}}--------------------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。