函数说明(fileno)
- fileno FILEHANDLE
这个函数返回在一个文件句柄下面的文件描述符。如果该文件句柄没有 open,那么 fileno 返回 undef。文件描述符是一个很小的,非负整数,比如 0 或 1,分别对应 STDIN 和 STDOUT,后者是符号。糟糕的是,操作系统可不认得你这些酷酷的符号。它只会用这样的小小的文件数字思维来打开文件,并且尽管 Perl 通常会自动为你做转换,但是偶尔你还是需要知道实际的文件描述符。
因此,举例来说,fileno 函数对于为select 构造位图以及在实现了 syscall(2) 的情况下传递某些晦涩的系统调用来说是非常有用的。它还可以用于检查 open 函数给你的文件描述符是不是你想要的那个,以及判断两个文件句柄是否在使用同一个文件描述符。
if (fileno(THIS) == fileno(THAT) ) {print "THIS and THAT are dups\n";}
如果 FILEHANDLE 是一个表达式,那么该值就会被当作一个间接的文件句柄,通常是它的名字或者一个指向某些构成一个文件句柄对象的引用。
一个警告:在程序的整个生命期里都不要依赖 Perl 文件句柄和数字文件描述符之间的关联关系。如果一个文件关闭以后重新打开,那么文件描述符可能改变。Perl 在保证某些文件描述符不会因为对它们的 open 失败而丢失的时候碰到了一些麻烦,它现在只能对那些不超过当前特殊变量 $^F($SYSTEM_FD_MAX)的当前值(缺省是 2)的文件描述符保证这一点。尽管文件句柄 STDIN, STDOUT,和 STDERR 从文件描述符 0,1,和 2 开始(Unix 标准传统),但如果你非常随意地打开和关闭它们的话,那么它们都有可能改变。只要你总是在关闭以后马上重新打开,那么你在 0,1,和 2 上不会碰到麻烦。在 Unix 系统上,基本规则是先用最小的描述符,而那个会是你刚刚关闭的那个。
函数说明(fileno)相关推荐
- C语言文件操作函数大全
unix中一切皆文件,所以文件操作至关重要! clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearer ...
- C语言文件操作函数大全(看到总结的真的很好,就转载贡献给大家了)
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * st ...
- C语言函数操作大全----(超详细)
fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const ...
- linux常用c函数(中文版)
都是linux的c函数东西略多,用页面搜索来查找吧. << Back to man.ChinaUnix.net isalnum(测试字符是否为英文或数字) 相关函数 isalpha,isd ...
- C语言API函数大全(转载)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u010258235/article/d ...
- python的fopen函数_linux c函数(fgets,fputs,fopen)
clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数st ...
- Linux C语言 fileno(返回文件流所使用的文件描述词)
fileno(返回文件流所使用的文件描述词) 相关函数 open,fopen 表头文件 #include<stdio.h> 定义函数 int fileno(FILE * stream); ...
- day34 异常处理、断言、socket之ftp协议
Python之路,Day20 = 异常处理.断言.socket之ftp协议 参考博客:http://www.cnblogs.com/metianzing/articles/7148191.html 1 ...
- python基础之socket编程
阅读目录 一 客户端/服务器架构 二 osi七层 三 socket层 四 socket是什么 五 套接字发展史及分类 六 套接字工作流程 七 基于TCP的套接字 八 基于UDP的套接字 九 粘包现象 ...
最新文章
- python3.X 使用schedule实现定时任务
- 超适合新手的Oracle查询语句
- 《openssl编程》之openssl简介
- 禅道开源版用户手册_自动化建模 | H2O开源工具介绍
- C++this指针的用途
- oracle 几个字段中某个字段大于0其他字段不再进行统计?_如何深入理解MySQL 8.0直方图?...
- c++能干什么_「CG原画插画教程」学画画到底能干什么?
- 在Linux下安全删除eSATA设备
- Spring总结七:AOP动态代理的实现
- mescroll报错
- ubuntu linux 批量删除文件
- 金融科技——预测银行贷款
- matlab 矩阵位移法编程 结构力学,matlab-矩阵位移法编程-结构力学.doc
- 基于Python的个人博客系统设计与实现 报告+项目源码
- 养胃有道——送给胃不好的人
- 数据仓库十大主题;TeraData金融数据模型
- html按钮和多选框
- 微服务之API网关:Kong:概要与安装
- 七倍压电路图_倍压整流电路图大全(九款倍压整流电路设计原理图详解) - 全文...
- 讲一个api网页全部保存到本地_WebRTC在网页端音视频通话的技术实践