stdio.h
FILE *fopen(FILE*, "r/w/a/r+/w+/a+"); \\返回FILE*,错误返回NULL
int fclose(FILE*); \\正常关闭返回0,错误返回非0
int fputc(int, FILE*); \\把int写入FILE*,返回int,错误返回EOF
int fgetc(FILE*); \\从FILE*中读取一个字节,返回该字节,错误返回EOF
int feof(FILE*); \\文件结束返回非0,结束返回0
size_t fread(void *buffer, sizeof(void), sizeof(buffer), FILE*);\\从FILE*中读取写入到buffer中
size_t fwrite(void *buffer, sizeof(void), sizeof(buffer), FILE*);\\从buffer中读取写入到FILE*中
返回读/写的数据块块数,出错或文件尾返回0
buffer:指向要输入(fread)/输出(fwrite)数据块的首地址指针
fread与fwrite 一般用于二进制文件的输入/输出
char *fgets(char*, int n, FILE*); \\从FILE*读取n-1个字符写入char*,若读入n-1个字符前遇到换行符或文件尾(EOF)则结束,正常返回字符串首地址,出错或文件尾返回NULL
int fputs(char*, FILE*); \\从char*读取写入FILE*,正常返回写入的最后一个字符,出错返回EOF
void rewind(FILE*); \\重置文件位置指针到开头
int fseek(FILE*, long offset, int whence); \\改变文件位置指针的位置,成功返回0,失败返回非零值
offset >0 向后移动 <0 向前移动
whence: 文件开始 SEEK_SET 0 文件当前位置 SEEK_CUR 1文件末尾 SEEK_END 2
long ftell(FILE*); \\返回文件位置指针当前位置,失败返回-1L