楼主应该想问的是对文件操作的底层原理,
这涉及到流(stream)和标准I/0库,
首先你可以看看stdio.h这个文件里对FILE结构体的定义
typedef struct {
short level; /* fill/empty level of buffer */
unsigned flags; /* File status flags */
char fd; /* File descriptor */
unsigned char hold; /* Ungetc char if no buffer */
short bsize; /* Buffer size */
unsigned char *buffer; /* Data transfer buffer */
unsigned char *curp; /* Current active pointer */
unsigned istemp; /* Temporary file indicator */
short token; /* Used for validity checking */
} FILE;
下面就要用到fopen()打开流(stdin,stdout,stderr)
FILE *_Cdecl fopen (const char *path, const char *mode);
它的返回值就是FILE结构体,
再看fread()
size_t _Cdecl fread (void *ptr, size_t size, size_t n, FILE *stream);
最后一个就是函数参数FILE结构体,这个其实也是一个函数,你可以在你的编译环境里找到它调用的原始函数
所有的操作都是围绕FILE的结构体成员来进行的,应该很好找的。