文件描述符和文件指针的区别
2015-11-20 17:21
316 查看
文件描述符就是open文件时产生的一个整数,直到一个索引作用,它用于UNIX系统中,用于标识文件。
文件指针是指向一个FILE的结构体,这个结构体里有一个元素就是文件描述符。它用于ANSI
C标准的IO库调用中,用于标识文件。
既然FILE中包含文件描述符元素,可以用fopen()直接获取指针fp,然后使用fp获得fp中所包含文件描述符fd的信息。
文件描述符应该是唯一的,但文件指针(值)却不是唯一的,但指向的对象却应该是唯一的。
FILE
*中除了包含了fd信息,还包含了IO缓冲,所以可以理解为FILE是对fd的墙头,是C标准形式,所以FILE
*比fd更适合跨平台,应该多用fopen在,少用open。
C语言文件指针与文件描述符之间可以相互转换:
int fileno(FILE
*stream);
FILE
*fdopen(int fd, const char *mode);
文件指针是指向一个FILE的结构体,这个结构体里有一个元素就是文件描述符。它用于ANSI
C标准的IO库调用中,用于标识文件。
既然FILE中包含文件描述符元素,可以用fopen()直接获取指针fp,然后使用fp获得fp中所包含文件描述符fd的信息。
文件描述符应该是唯一的,但文件指针(值)却不是唯一的,但指向的对象却应该是唯一的。
FILE
*中除了包含了fd信息,还包含了IO缓冲,所以可以理解为FILE是对fd的墙头,是C标准形式,所以FILE
*比fd更适合跨平台,应该多用fopen在,少用open。
C语言文件指针与文件描述符之间可以相互转换:
int fileno(FILE
*stream);
FILE
*fdopen(int fd, const char *mode);
相关文章推荐
- FOJ 2206 函数求解
- JavaScript中统计Textarea字数并提示还能输入的字符
- jquery选择器:获取父级元素、同级元素、子元素
- jquery 选择器中含有空格注意
- Myeclipse快捷键
- 显式(静态)调用: LIB + DLL + .H
- 爱
- Could not connect to ZooKeeper slave01:2181,slave02:2181,slave03:2181
- 【案例】云卷云舒,ArcGIS成就时空交错的新闻播报
- PDO连接数据效率剖析
- 读写excel文件
- 复制当前目录
- Switch重构处理
- 在IE8中如何通过javascripts改变<style />中的内容?
- 字符集、字符编码、XML中的中文编码
- jQuery-AJAX简介
- jquery 使用方法
- [AlwaysOn Availability Groups]排查:AG超过RPO
- JDK并发工具类源码学习系列——PriorityBlockingQueue
- android popupwindow 弹出窗口在控件上方居中,比控件大一倍