File構造の意味


ここでhでは構造を定義します:typedef struct_iobuf {    int        _count;    int        _fd;    int        _flags;    int        _bufsiz;    unsigned char    *_buf;    unsigned char    *_ptr;} FILE;具体的な意味は:fdはオペレーティングシステムが割り当てるファイル記述子、すなわちオペレーティングハンドルである.     _bufとは、バッファの内容をいう.デフォルトの作成サイズはstream->_ですbuf = (unsigned char *) malloc(BUFSIZ)            BUFSIZ = 4096    _bufsizeとはバッファの大きさを指す.    _flagsとは、ファイル操作に対する権限フラグである.  
#define    _IOFBF        0x000
#define    _IOREAD        0x001
#define    _IOWRITE    0x002
#define    _IONBF        0x004
#define    _IOMYBUF    0x008
#define    _IOEOF        0x010
#define    _IOERR        0x020
#define    _IOLBF        0x040
#define    _IOREADING    0x080
#define    _IOWRITING    0x100
#define    _IOAPPEND    0x200
#define    _IOFIFO        0x400
注記cygwin/usr/include/mingw/stdioを参照.h
#define _IOFBF    0x0000  /* full buffered */
#define _IOLBF 0x0040 /* line buffered */
#define _IONBF 0x0004 /* not buffered */

#define _IOMYBUF 0x0008 /* stdio malloc()'d buffer */
#define _IOEOF 0x0010 /* EOF reached on read */
#define _IOERR 0x0020 /* I/O error from system */
#define _IOSTRG 0x0040 /* Strange or no file descriptor */

    _ptrの初期値はbuffアドレスであり、buff中のデータを操作するために用いる.
    _countとは、buffにおける有効byteの数を指す. 
    
    
初期値:-1、buffは存在しません.