UNIX(1)FILE之corrupted double-linked list

本文通过分析《UNIX环境高级编程》中的内容,探讨了FILE结构在C语言标准IO中的作用,特别是&_fileno字段与文件描述符、文件表和v节点表之间的关系。通过对fclose操作的深入剖析,展示了当多个文件指针指向同一文件描述符时,不正确的fclose操作可能导致的'corrupted double-linked list'问题,强调了正确管理文件流的重要性。
摘要由CSDN通过智能技术生成

推荐

推荐《UNIX环境高级编程》3.10 文件共享

一 准备工作

  • FILE c语言中标准IO的文件结构
    /usr/include/stdio.h
typedef struct _IO_FILE FILE;

/usr/include/libio.h

struct _IO_FILE {
  int _flags;           /* High-order word is _IO_MAGIC; rest is flags. */
#define _IO_file_flags _flags

  /* The following pointers correspond to the C++ streambuf protocol. */
  /* Note:  Tk uses the _IO_read_ptr and _IO_read_end fields directly. */
  char* _IO_read_ptr;   /* Current read pointer */
  char* _IO_read_end;   /* End of get area. */
  char* _IO_read_base;  /* Start of putback+get area. */
  char* _IO_write_base; /* Start of put area. */
  char* _IO_write_ptr;  /* Current put pointer. */
  char* _IO_write_end;  /* End of put area. */
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值