TC 2 下 fopen() 函数用于打开一份文件,成功打开返回该文件的指针,失败返回 NULL(即整数零)。
fopen() 至少要干两件事:
第一、创建(分配)一份 FILE 类型的内存块,成功分配的 FILE 内存块的首地址将作为 fopen 函数的返回值。
第二、创建(分配)一份缓冲区(TC 下为 512 字节,当然这个是可以修改的,但 512 字节的缓冲区足够常规的应用)。
fopen() 是缓冲系统的一个函数,缓冲系统的特征是具备一个文件缓冲区并使用一系列函数来维护这个缓冲区(除此特征外与非缓冲文件系统无任何差别)。
缓冲系统比非缓冲系统唯一多的是缓冲区,目的在于减少读写磁盘的次数。
缓冲系统需要借助非缓冲系统来打开及关闭文件,这是因为非缓冲文件系统是系统层的调用,缓冲文件系统需要用到它。