#include <stdio.h>
// 删除文件:成功返回 0
int remove(const char *pathname);
// 重命名或移动文件:成功返回 0
int rename(const char *oldname, const char *newname);
// 打开文件:成功返回文件指针,失败返回 NULL;
FILE *fopen(const char *path, const char *mode);
// IO重定向:原始流将被关闭,成功返回文件指针,失败返回 NULL;
FILE *freopen(const char *path, const char *mode, FILE *stream);
// 关闭文件:内部调用 fflush
int fclose(FILE *fp);
// 读文件:返回实际读取的对象个数,可能小于请求的对象个数,需要调用 feof 确定是否已经到达文件末尾
size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream);
// 写文件:返回实际写入的对象个数,
size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream);
// 读取最多 size - 1 个字符,末尾自动添加 '\0';遇到换行终止,换行符包含在数组中;如果出现错误或到达文件末尾,返回NULL,否则返回 s;
char *fgets(char *s, int size, FILE *stream);
// 写字符串:不写结尾的 '\0'
int fputs(const char *s, FILE *stream);
// 读一个字符:到达文件末尾或出错时返回 EOF
int fgetc(FILE *stream);
// 写入一个字符:成功返回写入的字符,或者失败返回 EOF
int fputc(int c, FILE *stream);
// 格式胡输入:支持正则表达式,如 fscanf(stdin, "%[0-9]", buffer);
int fscanf(FILE *stream, const char *format, ...);
// 格式化输出:
int fprintf(FILE *stream, const char *format, ...);