目录
1.FILE封装
C语言的输入接口,都会向FILE*stdin里面的缓冲区打印。
首先我们要封装的就是FILE结构体
这个结构体大概含有以下内容
1.一个C语言的缓冲区buffer
2.一个文件描述符fileno
3.当前缓冲区的大小
4.缓冲区的容量
5.刷新的策略,不同文件的刷新策略不同,显示器文件为行刷新,普通文件为全刷新。
#include<stdio.h>
2 #define SIZE 1024
3 #define NONEFLUSH 1<<1//无刷新
4 #define LINEFLUSH 1<<2//行刷新
5 #define FULLFLUSH 1<<3//全刷新
6
7 typedef struct _myFILE
8 {
9 char buffer[SIZE];
10 int pos;
11 int cap;
12 int fileno;
13 int flushmode;
14 }myFILE;
2.fopen的实现
fopen是对open的封装
主要就是根据打开方式,打开文件,创建一个myFILE,返回个myFILE*即可。
myFILE * myfopen(const char* path,const char