Chinaunix首页 | 论坛 | 博客
  • 博客访问: 122579
  • 博文数量: 14
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-06 00:42
文章分类
文章存档

2011年(1)

2008年(13)

我的朋友

分类: 项目管理

2008-03-06 21:13:19

getopt()

getopt被用来解析命令行选项参数。就不用自己写东东处理argv了

#include
       extern char *optarg;   //选项的参数指针
       extern int optind,    //下一次调用getopt的时,从optind存储的位置处重新开始检查选项。
       extern int opterr,   //当opterr=0时,getopt不向stderr输出错误信息。
       extern int optopt;   //当命令行选项字符不包括在optstring中或者选项缺少必要的参数时,
       该选项存储在optopt中,getopt返回'?’、

       int getopt(int argc, char * const argv[], const char *optstring);
调用一次,返回一个选项。 在命令行选项参数再也检查不到optstring中包含的选项时,返回-1,同时optind储存第一个不包含选项的命令行参数。

首先说一下什么是选项,什么是参数。

字符串optstring可以下列元素,
1.单个字符,表示选项,
2.单个字符后接一个冒号:表示该选项后必须跟一个参数。参数紧跟在选项后或者以空格隔开。该参数的指针赋给optarg。
3 单个字符后跟两个冒号,表示该选项后必须跟一个参数。参数必须紧跟在选项后不能以空格隔开。该参数的指针赋给optarg。(这个特性是GNU的扩张)。

getopt处理以'-’开头的命令行参数,如optstring="ab:c::d::",命令行为getopt.exe -a -b host -ckeke -d haha
在这个命令行参数中,-a和-h就是选项元素,去掉'-',a,b,c就是选项。host是b的参数,keke是c的参数。但haha并不是d的参数,因为它们中间有空格隔开。

 

inet_addr()
 
简述:将一个点间隔地址转换成一个in_addr。

  #include

  unsigned long PASCAL FAR inet_addr( const struct FAR* cp);

  cp:一个以Internet标准“.”间隔的字符串。

注释:
  本函数解释cp参数中的字符串,这个字符串用Internet的“.”间隔格式表示一个数字的Internet地址。返回值可用作Internet地址。所有Internet地址以网络字节顺序返回(字节从左到右排列)。
  Internet地址用“.”间隔的地址可有下列几种表达方式:
  a.b.c.d,a.b.c,a.b,a
  当四个部分都有定值时,每个都解释成一个字节数据,从左到右组成Internet四字节地址。请注意,当一个Internet地址在Intel机器上表示成一个32位整型数时,则上述的字节为“d.c.b.a”。这是因为Intel处理器的字节是从右向左排列的。
  请注意:只有Berkeley支持下述表达法,Internet其余各处均不支持。考虑到与软件的兼容性,应按规定进行使用。
  对一个三部分地址,最后一部分解释成16位数据并作为网络地址的最右两个字节。这样,三部分地址便很容易表示B组网络地址,如“128.net.host”.
  对一个两部分地址,最后一部分解释成24位数据并作为网络地址的最右三个字节,这样,两部分地址便很容易表示C组网络地址,如“net.host”。
  对仅有一个部分的地址,则将它的值直接存入网络地址不作任何字节的重组。

返回值:
  若无错误发生,inet_addr()返回一个无符号长整型数,其中以适当字节顺序存放Internet地址。如果传入的字符串不是一个合法的Internet地址,如“a.b.c.d”地址中任一项超过255,那么inet_addr()返回INADDR_NONE。
 
atoi
 
函数名: atoi
功  能: 把字符串转换成整型数
 
 
atof
函数名: atof
功  能: 把字符串转换成浮点数
strstr
extern char *strstr(char *haystack, char *needle);
从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。
isalnum
原型:extern int isalnum(int c);
功能:判断字符c是否为字母或数字
说明:当c为数字0-9或字母a-z及A-Z时,返回非零值,否则返回零。
strchr
用法:#include
原型:extern char *strchr(char *s,char c);
  
功能:查找字符串s中首次出现字符c的位置
  
说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL
strncpy
原型:extern char *strncpy(char *dest, char *src, int n);
        
用法:#include
  
功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。
  
说明:
        如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。
        如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。
        src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
        返回指向dest的指针。
阅读(1466) | 评论(0) | 转发(0) |
0

上一篇:什么是hash值

下一篇:解码种子文件

给主人留下些什么吧!~~