fdopen:让文件描述符像文件一样使用

FILE * fdopen(int fildes,const char * mode);

  fdopen与fopen类似,返回一个FILE *类型的值,不同的是此函数以文件描述符而非文件作为参数。

  如果只知道文件描述符而不清楚文件名的时候可以使用fdopen命令。

  使用fdopen使得对远端的进程的处理就如同处理常规文件一样。

sscanf:

   从一个字符串中读进与指定格式相符的数据。

时间: 2024-08-25 16:45:42

fdopen:让文件描述符像文件一样使用的相关文章

文件描述符、文件描述符表、打开文件表、目录项、索引节点之间的联系

文件描述符.文件描述符表.打开文件表.目录项.索引节点之间的联系如下图所示: 每个进程在PCB(Process Control Block)中都保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针,已打开的文件在内核中用file结构体表示,文件描述符表中的指针指向file结构体. 在file结构体中维护File Status Flag(file结构体的成员f_flags)和当前读写位置(file结构体的成员f_pos).在上图中,进程1和进程2都打开同一文件,

文件描述符和文件指针的区别

文件描述符:在linux系统中打开文件就会获得文件描述符,它是个很小的正整数.每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针. 文件指针:C语言中使用文件指针做为I/O的句柄.文件指针指向进程用户区中的一个被称为FILE结构的数据结构.FILE结构包括一个缓冲区和一个文件描述符.而文件描述符是文件描述符表的一个索引,因此从某种意义上说文件指针就是句柄的句柄(在Windows系统上,文件描述符

基于文件描述符的文件操作(非缓冲)

1.1. 文件描述符:内核为每个进程维护一个已打开文件的记录表,文件描述符是一个较小的正整数(0-1023),它代表记录表的一项,通过文件描述符和一组基于文件描述符的文件操作函数,就可以实现对文件的读.写.创建.删除等操作.常用基于文件描述符的函数有open(打开).creat(创建).close(关闭).read(读取).write(写入).ftruncate(改变文件大小).lseek(定位).fsync(同步).fstat(获取文件状态).fchmod(权限).flock(加锁).fcnt

浅谈文件描述符与文件指针

一.文件描述符: 内核利用文件描述符(file descriptor)来访问文件.文件描述符是非负整数.打开现存文件或新建文件时,内核会返回一个文件描述符. 1.优点: 1.基于文件描述符的I/O操作兼容POSIX(可移植操作系统接口)标准 2.UNIX/LINUX的系统调用中,大量系统调用都依赖于文件描述符 2.缺点: 1.在非UNIX/LINUX操作系统上,无法基于这一概念进行编程 2.它在形式上不过是个整数,当代码量增大时,会使编程者难以分清哪些整数是数据,哪些是文件描述符.所以完成的代码

文件描述符、文件表项、V节点表项的一些总结

转自  http://blog.csdn.net/gzzheyi/article/details/7739556 表格可以参见APUE 第三版 P61. 文件描述符(进程级别): 1).在每个进程表中都有一个记录项,记录项中包含有一张打开文件描述符表,可将其视察为一个矢量(数组),每个描述符占用一项.与每个文件描述符相关联的是: (a).文件描述符标志. (b).指向一个文件表项的指针.(不同的文件描述符可以指向同一个文件表项,例如用dup函数复制文件描述符,得到一个新的文件描述符,但是它们指向

Linux下基于文件描述符的文件操作(非缓冲)

1 文件描述符 内核为每个进程维护一个已打开文件的记录表(实现为结构体数组),文件描述符是一个较小的正整数(0-1023)(结构体数组下标),它代表记录表的一项,通过文件描述符和一组基于文件描述符的文件操作函数,就可以实现对文件的读.写.创建.删除等操作. 常用基于文件描述符的函数有open(打开).creat(创建).close(关闭).read(读取).write(写入).ftruncate(改变文件大小).lseek(定位).fsync(同步).fstat(获取文件状态).fchmod(权

五、基于文件描述符的文件操作(非缓冲)

1文件描述符 内核为每个进程维护一个已打开文件的记录表,文件描述符是一个较小的正整数(0—1023),它代表记录表的一项,通过文件描述符和一组基于文件描述符的文件操作函数,就可以实现对文件的读.写.创建.删除等操作. 常用基于文件描述符的函数有open(打开).creat(创建).close(关闭).read(读取).write(写入).ftruncate(改变文件大小).lseek(定位).fsync(同步).fstat(获取文件状态).fchmod(权限).flock(加锁).fcntl(控

文件描述符与文件指针等文件操作的几个问题

1.二者对比: 文件描述符就是open文件时产生的一个整数,直到一个索引作用,它用于UNIX系统中,用于标识文件.它是系统调用产生的. 文件指针是指向一个FILE的结构体,这个结构体里有一个元素就是文件描述符.它用于ANSI C标准的IO库调用中,用于标识文件.fopen是依赖于open的: 既然FILE中包含文件描述符元素,可以用fopen()直接获取指针fp,然后使用fp获得fp中所包含文件描述符fd的信息. 文件描述符应该是唯一的,但文件指针(值)却不是唯一的,但指向的对象却应该是唯一的.

文件描述符、文件表项指针、inode节点的关系

内核使用3种数据结构表示打开的文件,他们之间的关系决定了在文件共享方面一个进程对另一个进程的影响. (1) 每个进程在进程表中都有一个纪录项,纪录项中包含一张打开文件描述符表,每个文件描述符各占一项,与每个文件描述符相关的是 a. 文件描述符标志 b. 指向一个文件表项的指针 (2) 内核为所有打开文件维护一张文件表项,每个文件表项包含: a. 文件状态(读 写 同步 非阻塞等) b. 当前文件偏移量 c. 指向改文件V节点(i节点)的指针 (3) 没打开一个文件或设备,都有一个V节点结构,V节