标准IO使用了缓冲区机制,从而减少系统调用,实现更高的效率,三种缓冲机制为:
全缓冲:当流的缓冲区无数据或无空间时才执行实际I/O操作
行缓冲:当在输入和输出中遇到换行符(‘\n’)时,进行I/O操作。
无缓冲:数据直接写入文件,流不进行缓冲。
常用函数如下:
fopen()
:打开或创建文件流,返回指向该文件流的指针
#include <stdio.h>
FILE *fopen(const char *path, const char *mode);
参数含义:
filename :字符串,用来命名文件;
mode:访问模式,有以下几种选项:
r:打开一个已有的文本文件,允许读取文件;
w:打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件;
a:打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件;
r+:打开一个文本文件,允许读写;
w+:打开一个文本文件,允许读写文件,如果文件不存在,则会创建一个新文件,如 果文件已存在, 则文件会被截断为零长度,
a+:打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件,读取 会从文件的开头开始,写入则只能是追加模式
返回值:返回一个FILE对象,FILE对象包含了用来控制流的方法。
fclose()
:关闭文件
#include <stdio.h>
int fclose(FILE *stream);
参数含义:打开的文件流对象
返回值:成功关闭文件,函数返回零,如果关闭文件时发生错误,函数返回 EOF。