unix常用系统函数

unix常用系统函数

ID:12832601

大小:207.00 KB

页数:65页

时间:2018-07-19

unix常用系统函数_第1页
unix常用系统函数_第2页
unix常用系统函数_第3页
unix常用系统函数_第4页
unix常用系统函数_第5页
资源描述:

《unix常用系统函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、·UNIX常用系统函数-getopt(分析命令行参数)相关函数表头文件#include定义函数intgetopt(intargc,char*constargv[],constchar*optstring);函数说明getopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和内容。参数optstring则代表欲处理的选项字符串。此函数会返回在argv中下一个的选项字母,此字母会对应参数optstring中的字母。如果选项字符串里的字母后接着冒号":",则表示还有相关的参数,全域

2、变量optarg即会指向此额外参数。如果getopt()找不到符合的参数则会印出错信息,并将全域变量optopt设为""字符,如果不希望getopt()印出错信息,则只要将全域变量opterr设为0即可。返回值如果找到符合的参数则返回此参数字母,如果参数不包含在参数optstring的选项字母则返回""字符,分析结束则返回-1。范例#include#includeintmain(intargc,char**argv){intch;opterr=0;while((ch=getopt(arg

3、c,argv,"a:bcde"))!=-1)switch(ch){case'a':printf("optiona:'%s'",optarg);break;case'b':printf("optionb:b");break;default:printf("otheroption:%c",ch);}printf("optopt+%c",optopt);}执行$./getopt–boptionb:b$./getopt–cotheroption:c$./getopt–aotheroption:$./getopt–a1

4、2345optiona:'12345'  isatty(判断文件描述词是否是为终端机)相关函数ttyname表头文件#include定义函数intisatty(intdesc);函数说明如果参数desc所代表的文件描述词为一终端机则返回1,否则返回0。返回值如果文件为终端机则返回1,否则返回0。范例参考ttyname()。  select(I/O多工机制)表头文件#include#include#include定义函数intselect

5、(intn,fd_set*readfds,fd_set*writefds,fd_set*exceptfds,structtimeval*timeout);函数说明select()用来等待文件描述词状态的改变。参数n代表最大的文件描述词加1,参数readfds、writefds和exceptfds称为描述词组,是用来回传该描述词的读,写或例外的状况。底下的宏提供了处理这三种描述词组的方式:FD_CLR(inrfd,fd_set*set);用来清除描述词组set中相关fd的位FD_ISSET(intfd,fd_set*set);

6、用来测试描述词组set中相关fd的位是否为真FD_SET(intfd,fd_set*set);用来设置描述词组set中相关fd的位FD_ZERO(fd_set*set);用来清除描述词组set的全部位参数timeout为结构timeval,用来设置select()的等待时间,其结构定义如下structtimeval{time_ttv_sec;time_ttv_usec;};返回值如果参数timeout设为NULL则表示select()没有timeout。错误代码执行成功则返回文件描述词状态已改变的个数,如果返回0代表在描述词

7、状态改变前已超过timeout时间,当有错误发生时则返回-1,错误原因存于errno,此时参数readfds,writefds,exceptfds和timeout的值变成不可预测。EBADF文件描述词为无效的或该文件已关闭EINTR此调用被信号所中断EINVAL参数n为负值。ENOMEM核心内存不足范例常见的程序片段:fs_setreadset;FD_ZERO(&readset);FD_SET(fd,&readset);select(fd+1,&readset,NULL,NULL,NULL);if(FD_ISSET(fd,r

8、eadset){……}  ttyname(返回一终端机名称)相关函数Isatty表头文件#include定义函数char*ttyname(intdesc);函数说明如果参数desc所代表的文件描述词为一终端机,则会将此终端机名称由一字符串指针返回,否则返回NULL。返回

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

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

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