2012年(8)
分类: LINUX
2012-07-13 09:45:50
首先想介绍的就是关于主函数的问题,主函数参数的问题
int main(int argc, char *argv[]);
参数argc记录的是参数的个数, argv[]是一个字符串数组,指向各个参数集合,从0开始,到argc-1,第一个参数是运行程序的程序名称,后面是程序运行的各个参数。
一般是main()程序的时候argc 和argv也是存在的,但是如果不定义的话,不能使用。
为了管理复杂的参数设置,linux提供了getopt函数,支持需要关联值和不需要关联值的选项,简单易用
#include
int getopt(int argc, char *argv[],const char *optstring);
extern char *optarg;
extern int optind,opter,optopt;
geropt函数将传递给main的参数作为参数,同时使用optstring,指定哪些参数可以使用。如果一个字粗后面跟(:),表明该选项有哦关联值做参数
如果有关联值 那么optarg指向这个值
如果选项处理完毕,返回-1使停止扫描
如果遇到无法识别选项,返回(?)并保存到optopt中
如果有关联值但未给出 返回一个(:)
环境变量的设置问题
环境变量用来控制shell脚本和其他程序行为的变量.可以通过程序设置,也可以用shell中的set设置环境变量。
#include
char *getenv(const char *name);
char putenv(const char *string);
getenv用来获得环境变量的值,如果没有环境变量返回NULL
putenv用来设置环境变量 设置格式”名称=值”;
环境变量是一把双刃剑,与命令行相比,对用户更隐蔽,从某种角度来讲,环境变量和全局变量一样,会更改程序的行为,产生不可预期的结果。
#include
extern char **environ;
环境变量也可一共过environ变量直接访问字符串数组。
当然环境变量的操作不仅如此,还有很多,此处略写一二,仅供参考