FIFE 指针: 有关于文件的信息结构体。
一 缓冲文件系统分类:
1. 全缓存: 打开一个文件是全缓冲。
2. 行缓存: 当流遇到一个终端的时候,是一个典型的行缓存。 当输入,输出遇到新行符,进行I/O操作。
3. 不缓存: 不对字符进行缓冲,例如 stderr;人机交互, 标准出错。
使用setbuf(), setvbuf() 可以更改缓存的类型。
二 fflush(FILE *fp)
强制刷新一个一流。改所有未写的数据都被似递至内核。
三 3个流(stream):
stdin 标准输入 0
stdout 标准输出 1
stderr 标准错误输出 2
四 函数
FILE *fopen(const char *path, const char *mode); //打开
mode 的值: r, r+,w, w+,a,a+; r: 读 w:写(不存在则建立) a:追加写(不存在则建立),+表示读,(注,可加b 表示二进制文件,
但是r,w,a之间,不能组合。)
int fclose(FILE *stream) 成功返回0,失败 EOF
freopen(const char *path, const char *mode, FIFE *steam);
int feof(FILE *stream) 判断文件是否结束 可用于二进制文件
EOF:出错或者结束
int putc(int c, FILE * stream)
int fputc(int c, FILE * stream)
int putchar(int c, FILE)
getc()/getchar()/putc()/putchar() 实行为宏
fgetc()/fputc()实现为函数
int puts(const char *s);
int fputs(const char *s, FILE * stream;
成功返回非负值,出错为EOF;