linux常用c函数终端控制篇

来源:Linux认证    发布时间:2012-11-10    Linux认证视频    评论

  struct timeval

  {

  time_t tv_sec;

  time_t tv_usec;

  };

  返回值  如果参数timeout设为NULL则表示select()没有timeout。

  错误代码  执行成功则返回文件描述词状态已改变的个数,如果返回0代表在描述词状态改变前已超过timeout时间,当有错误发生时则返回-1,错误原因存于errno,此时参数readfds,writefds,exceptfds和timeout的值变成不可预测。

  EBADF 文件描述词为无效的或该文件已关闭

  EINTR 此调用被信号所中断

  EINVAL 参数n 为负值。

  ENOMEM 核心内存不足

  范例  常见的程序片段:fs_set readset;

  FD_ZERO(&readset);

  FD_SET(fd,&readset);

  select(fd+1,&readset,NULL,NULL,NULL);

  if(FD_ISSET(fd,readset){……}

  ttyname(返回一终端机名称)

  相关函数  Isatty

  表头文件  #include<unistd.h>

  定义函数  char * ttyname(int desc);

  函数说明  如果参数desc所代表的文件描述词为一终端机,则会将此终端机名称由一字符串指针返回,否则返回NULL。

  返回值  如果成功则返回指向终端机名称的字符串指针,有错误情况发生时则返回NULL。

  范例  #include<unistd.h>

  #include<sys/types.h>

  #include <sys/stat.h>

  #include<fcntl.h>

  main()

  {

  int fd;

  char * file = “/dev/tty”;

  fd = open (fiel,O_RDONLY);

  printf(“%s”,file);

  if(isatty(fd)){

  printf(“is a tty./n”);

  printf(“ttyname = %s /n”,ttyname(fd));

  }

  else printf(“ is not a tty/n”);

  close(fd);

  }

  执行  /dev/tty is a tty

  ttyname = /dev/tty

上一页123下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答