dup()与dup2()

来源:互联网 发布:淘宝卖家图片轮播尺寸 编辑:程序博客网 时间:2024/04/28 19:04
dup()与dup2():
  • 操作对象:文件与管道[管道是一种特殊的文件,也有文件描述符]
  • 区别:dup(fd)将fd的文件描述复制到文件表中的最小的可用的文件描述符位置,而dup2(fd1,fd2)是将fd1的文件描述符复制到fd2的文件描述符,如果fd2文件开打,则会先关闭该文件在复制。
  • 常用的文件描述符有: 0:stdin 1:stdout 2:stderr.
  • 复制文件描述符的含义: 相同的打开文件(或管道)、相同的文件指针(两个文件共享一个指针)、相同的访问方式(读取、写入)、相同的文件状态。  
  • linux系统下,默认的错误返回值一般情况下为非正数,通常为-1,平时检测可以看是否<0。
  • fileno()函数,是个重要的函数,它的返回值是文件描述符,文件描述符是个数字,而stdio、stdout、stderr是指针类型的变量,形如:FILE *stdin、FILE *stdout、FILE *stderr,fileno函数的功能是:获得流文件的文件描述符,fileno()的定义为: extern int fileno(FILE *__stream),所以要获得文件描述符,而现有的文件指针,就可以用这个函数来进行转换。    
阅读(319) | 评论(0) | 转发(0) |
0

上一篇:用dup或dup2完成ls -l|cat功能

下一篇:fork与vfork

相关热门文章
  • linux 常见服务端口
  • 什么是shell
  • linux socket的bug??
  • linux的线程是否受到了保护?...
  • 一个适用于windows和linux的抓...
  • debian7系统与ATI X2300显卡...
  • ubuntu sysklogd之配置文件介...
  • 自己用的ubuntu环境搭建(一)...
  • linux 学习心得
  • 用户输入操作和数据的显示...
给主人留下些什么吧!~~