Linux IO及文件编程.pdfVIP

  • 18
  • 0
  • 约2.57万字
  • 约 24页
  • 2017-05-27 发布于河南
  • 举报
Linux IO及文件编程

2. C 标准 I/O 库函数与 Unbuffered I/O 函数 现在看看 C 标准 I/O 库函数是如何用系统调用实现的。 fopen(3) 调用 open(2)打开指定的文件,返回一个文件描述符(就是一个 int 类型的编号),分配一个 FILE 结构体,其中包含该文件的 描述符、I/O 缓冲区和当前读写位置等信息,返回这个 FILE 结构 体的地址。 fgetc(3) 通过传入的 FILE *参数找到该文件的描述符、I/O 缓冲区和当前 读写位置,判断能否从 I/O 缓冲区中读到下一个字符,如果能读 到就直接返回该字符,否则调用 read(2),把文件描述符传进去, 让内核读取该文件的数据到 I/O 缓冲区,然后返回下一个字符。 注意,对于 C 标准 I/O 库来说,打开的文件由 FILE *指针标识, 而对于内核来说,打开的文件由文件描述符标识,文件描述符 从 open 系统调用获得,在使用 read 、write 、close 系统调用时都

文档评论(0)

1亿VIP精品文档

相关文档