【1】int fflush(FILE *stream);
功能:强制刷新一个流
返回:成功 0, 失败 EOF
注意:fflush(stdin)Gcc不支持
【2】stdin stdout stderr
刷新条件:满、fflush、进程结束、‘\n’
【3】FILE *fopen(cost char *path, const char *mode);
功能:打开一个文件,获得文件的流
参数:<path> 路径,字符串首地址
<mode> 模式,字符串首地址
返回:成功返回文件流指针,失败返回NULL
r 只读 r+ 可读可写(从头覆盖) //不创建
w 只写(清空) w+ 可读可写(清空) //文件不存在则创建
a 只写(追加) a+ 可读可写(追加) //文件不存在则创建
【4】 int fputc(int c, FILE *stream);
【5】 int fclose(FILE *fp);
功能:关闭一个流。
参数:<stream>文件流指针
【6】int fgetc(FILE *stream);
功能:从流中读取一个字符。
注意:读完一个字符是要接着读第二个字符的
【7】int fprintf(FILE *stream, const char *format, ...);
功能:将打印的内容生成字符串写入一个流中。
参数:<stream>文件流指针;后面与printf一样
返回:输出数据的字节数
【8】int fputs(const char *s, FILE *stream);
功能:向一个流中写入s所指向的字符串。
返回:输出数据的字节数
【*】char *fgets(char *s, int size, FILE *stream);
功能:从一个流中读取size大小的字符,写入s所指向的字符串。
参数:<s> 字符串首地址;
<size> 读取的字节大小
返回:字符串的首地址
注意:多读取size-1 个字符,遇到'\n'结束
【10】size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
功能:将ptr所指向的数据单元写入文件中
参数: <ptr> 数据来源
<size> 每单元数据的字节大小
<nmemb> 单元数据的次数
<stream>文件流指针
返回:成功获取的单元次数:1 ~ nmemb。
不足一单元数据,或失败:0
【11】size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
功能:从文件中读取数据单元
参数: <ptr> 数据保存的位置
<size> 读取单元数据的大小
<nmemb> 读取单元数据的个数
返回:成功获取的单元次数:1 ~ nmemb。
不足一单元数据,或失败:0
【12】int fseek(FILE *stream, long offset, int whence);
功能:定位流的读写位置
参数:<offset> 偏移量
<whence> SEEK_SET 文件开始(在第一个字符)
SEEK_CUR 当前
SEEK_END 文件末尾 (后一个字符的下一个)
返回:成功返回当前位置 失败-1
注意:"a+" 时使用fseek无效
【13】void rewind(FILE *stream);
<==>
fseek(fp,0, SEEK_SET);
【14】long ftell(FILE *stream);
功能:获取流当前的读写位置
返回:成功 当前的读写位置
失败 -1
注意:起始位置为0;
【15】int feof(FILE *stream);
功能:判断一个文件是否到文件结尾
返回:结束非0, 没有结束0
【16】void clearerr(FILE *stream);
功能:清除文件结束标识,清除错误信息