文件描述符与文件指针的相互转化
来源:互联网 发布:淘宝机票改签流程 编辑:程序博客网 时间:2024/05/22 14:56
文件描述符,在linux系统中,设备也是以文件的形式存在,要对该设备进行操作就必须先打开这个文件,打开这个文件就会获得这个文件描述符,它是个很小的正整数,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。
文件描述符的优点:兼容POSIX标准,许多Linux和UNIX系统调用都依赖于它。
缺点:不能移植到非UNIX系统上,也不直观。
文件指针,C语言中使用的是文件指针而不是文件描述符作为I/O的句柄,“文件指针(file pointer)”指向进程用户区中的一个被称为FILE结构的数据结构。FILE结构包括一个缓冲区和一个文件描述符值。而文件描述符值是文件描述符表中的一个索引。从某种意义上来说,文件指针就是句柄的句柄。
2. 文件指针/句柄(FILE*)、文件描述符以及文件路径(filepath)的相互转换
文件路径 到 文件指针:filepath --fopen()-->FILE*;
文件路径 到 文件描述符:filepath--open()--fd;
文件描述符 到 文件指针:fd--fdopen()-->FILE*;
文件路径 到 文件描述符:filepath--open()--fd;
文件描述符 到 文件指针:fd--fdopen()-->FILE*;
文件指针 到 文件描述符:FILE*--fileno()--->fd;
文件描述符 到 文件路径:fd--readlink(/proc/%getpid()/fd/%fd"))-->filepath; //这属于“曲线救国”
文件描述符 到 文件路径:fd--readlink(/proc/%getpid()/fd/%fd"))-->filepath; //这属于“曲线救国”
0 0
- 文件描述符与文件指针的相互转化
- 文件描述符与文件指针的相互转化
- 文件描述符与文件指针的相互转化
- 文件描述符与文件指针的相互转化
- 文件描述符和文件指针的相互转换
- 文件指针/句柄、文件描述符、文件路径的相互转换
- C语言文件指针与文件描述符之间可以相互转换
- 标准的I / O流和文件描述符相互关联(文件描述符与文件指针间的转换)
- 文件描述符与文件指针的区别
- 文件描述符fd与文件指针FILE*的关系
- Linux下的文件描述符与文件指针
- 文件描述符与文件指针的区别
- 区别:文件描述符与文件指针
- 浅谈文件描述符与文件指针
- 文件描述符与文件指针
- 文件描述符与文件指针
- 文件描述符与文件指针
- 文件描述符与文件指针
- Shell
- 归并排序--java实现
- 实现Ajax的步骤和封装函数
- 浙大PAT甲级1027. Colors in Mars (20)
- 屏奴一代
- 文件描述符与文件指针的相互转化
- Unity3D自学笔记——实现2D物体漂浮在制定3D物体上方
- 关于 Type mismatch: cannot convert from Integer to int
- 第二章-信源与信息熵(三)
- C++递归遍历文件夹(三)——建立树结构
- 永远的黑白
- 浅谈JavaScript闭包
- Leetcode412. Fizz Buzz爱美之心人皆有之
- Java 贪吃蛇