APUE读书笔记 之 标准I/O库

APUE读书笔记 之 标准I/O库

  本章以stream(区别开STREAMS)为中心,香港服务器,讲解了UNIX的标准I/O库。

  stream的核心是FILE结构。

  打开一个stream时,fopen返回一个FILE对象指针。该FILE结构包括了:

  实际用于I/O的文件描述符,指向该流缓冲区的指针,缓冲区的长度,当前缓冲区的字符,香港虚拟主机,以及出错标志等等。

  FILE结构定义在/usr/include/stdio.h中。  

        typedef struct _IO_FILE FILE;

  _IO_FILE结构定义在/usr/include/libio.h中。

View Code

1 struct _IO_FILE {_IO_file_flags _flags* _IO_read_ptr; * _IO_read_end; * _IO_read_base; * _IO_write_base; * _IO_write_ptr; * _IO_write_end; * _IO_buf_base; * _IO_buf_end; *_IO_save_base; *_IO_backup_base; *_IO_save_end; _IO_marker *_markers;_IO_FILE *_chain; _fileno;25 #if 026 int _blksize; _flags2;_IO_off_t _old_offset; __HAVE_COLUMN /* temporary */unsigned short _cur_column;35 signed char _vtable_offset;36 char _shortbuf[1];_IO_lock_t *_lock;41 #ifdef _IO_USE_OLD_IO_FILE42 };

  本章主要内容总结如下图:

  零散知识点:

  char *tmpnam(char *ptr) tmpnam产生一个与现有文件名不同的一个有效路径字符串。

  FILE *tmpfile(void) /*产生临时二进制文件*/ 在进程结束时自动删除。

  char *tempnam(const char *directory,const char *prefix) 为产生的路径名指定目录和前缀。

  没看懂的问题:

  对标准I/O流如何使用fsync函数(为什么数据在内核缓冲区时,网站空间,调用fsync没效果)

  

posted on

只有经历过地狱般的折磨,才有征服天堂的力量。

APUE读书笔记 之 标准I/O库

相关文章:

你感兴趣的文章:

标签云: