楼主应该想问的是对文件操作的底层原理,
这涉及到流(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的结构体成员来进行的,应该很好找的。